百度离线地图JAVA本地开发,就是不联网也是用百度地图API载入地图

Python07

百度离线地图JAVA本地开发,就是不联网也是用百度地图API载入地图,第1张

百度离线地图JAVA本地开发,就是不联网也是用百度地图API载入地图

这个不行的。。不能离线的。

在java开发中,想引用百度地图,就必须写上引用地址,而这个地址是放在百度自己的伺服器上的。。所以,必须要联网才行。。

怎么使用百度离线地图

可以试一下腾讯地图的离线地图功能

要先下载离线地图 可以离线下载,这样就可以节省90%的流量啦

就是下载一个离线资料包,一般只下载你常用的几个城市

使用离线地图导航的时候输入起点和终点就可以了

不论是步行还是公交 都有详实的路线导航 路线在地图上也很清晰的呈现

希望我的回答能帮到你

百度地图主程式要装在记忆体卡上,我试过将主程式装在手机记忆体里,用百度官方给出的方法安装离线地图,只有在安装完离线地图后第一次开启地图提示安装成功,退出后再进去离线地图就被清空了。安装完主程式后最好把地图开启定位载入下地图(这样做是为了得到该省份的快取地图资料所存放的资料夹),下载离线地图包并解压,把资料夹里面.dat和.map 结尾的档案复制到date/baidu/baidumaps/date/以数字命名的资料夹下(前面提到过的省份快取资料资料夹),随解压出来的还有另外两个档案,即城市名_l_baidu.cfg,城市名_l_baidu.cfg,把这两个档案放在date/baidu/baidumaps目录下,这样就能使用离线地图了,主程式一定要安装在记忆体卡上,

下载 百度离线地图 沈阳市后 开启GPS定位 费不费流量?百度地图?

流量会走一点,但是要比没下载节省85%-90% 谢谢~你的提问

使用百度离线地图送积分吗

好像是不送的

百度离线地图不能用

百度离线地图不能用的原因及解决方法:

未下载离线地图包,重新下载即可。

百度地图离线包,被删除。重新下载安装。

安装包异常,解除安装百度地图,重新安装最新版后再次下载百度地图。

百度地图出现了BUG,无法使用,百度原因,百度会修复,稍等晚点再使用。

百度地图api做热力图,chrome总是崩溃

是图片资源过大造成浏览器负载超过极限了,试试缩小地图区域,或者降低图片质量,同时做一下延时,防止短时间请求太多造成浏览器阻塞假死。

iOS开发 百度地图API支援公交地铁规划吗

使用者点选注册后弹出地图并使用地图拖拽功能确定自己的位置,取得位置座标并储存到资料库,使用者登入后根据座标位置显示其周围500米范围内其它使用者资讯,OK!

一、申请密钥

1、先用eclipse创建一个Android工程

2、在百度api官网上申请一个密钥,链接:http://lbsyun.baidu.com/apiconsole/key

bubuko.com,布布扣

二、工程配置

1、将baidumapapi_vX_X_X.jar拷贝到工程libs目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi

目录下,拷贝完成后,如下所示:

注:liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发者可根据实际需求自行添加。

bubuko.com,布布扣

2、右键工程属性,在Libraries中选择“Add External JARs”,选择baidumapapi_vX_X_X.jar,确定返回

配置好以上步骤,即可使用百度地图了

三、显示百度地图

1、在android配置清单文件中AndroidManifest.xml添加开发密钥和所需权限

<application><meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发者 key" /></application>

所需权限

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

<uses-permission android:name="android.permission.USE_CREDENTIALS" />

<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.BROADCAST_STICKY" />

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

2、在xml布局中添加地图控件

<com.baidu.mapapi.map.MapView

android:id="@+id/bmapView"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:clickable="true" />

?3、在应用程序创建时初始化,SDK引用的全局变量Context

注意:在SDK各功能组件使用之前都需要调用

SDKInitializer.initialize(getApplicationContext()),因此我们建议该方法放在Application的初始化方法中

public class MyApplication extends Application {

@Override

public void onCreate() {

super.onCreate()

//在使用SDK各组件之前初始化context信息,传入ApplicationContext

SDKInitializer.initialize(getApplicationContext())

System.out.println("SDKInitializer一初始化")

}

}

设置自定义的application为默认应用

<application

android:name="com.bao.ah.MyApplication"

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

//在使用SDK各组件之前初始化context信息,传入ApplicationContext

//注意该方法要再setContentView方法之前实现

//SDKInitializer.initialize(getApplicationContext())

setContentView(R.layout.activity_main)

}

}

4、百度地图应和Activity生命周期绑定

public class MainActivity extends Activity {

MapView mMapView = null

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

//在使用SDK各组件之前初始化context信息,传入ApplicationContext

//注意该方法要再setContentView方法之前实现

//SDKInitializer.initialize(getApplicationContext())

setContentView(R.layout.activity_main)

//获取地图控件引用

mMapView = (MapView) findViewById(R.id.bmapView)

}

@Override

protected void onDestroy() {

super.onDestroy()

//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理

mMapView.onDestroy()

}

@Override

protected void onResume() {

super.onResume()

//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理

mMapView.onResume()

}

@Override

protected void onPause() {

super.onPause()

//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理

mMapView.onPause()

}

}

百度地图Web服务API为开发者提供http接口,即开发者通过http形式发起检索请求,获取返回json或xml格式的检索数据。

api官网说明链接:

http://developer.baidu.com/map/webservice.htm

1、可用接口列举:

获取相关地址提示 place suggestion

http://api.map.baidu.com/place/v2/suggestion?query=水杉&region=成都&output=json&ak=42b8ececa9cd6fe72ae4cddd77c0da5d

2、获取坐标 geocoding

http://api.map.baidu.com/geocoder?address=锦江区菱安路299号&output=json&key=42b8ececa9cd6fe72ae4cddd77c0da5d

http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=蓝光coco金沙&page_size=10&page_num=0&scope=1&region=成都

{

"status":0,

"message":"ok",

"total":2,

"results":[

{

"name":"蓝光COCO金沙",

"location":{

"lat":30.687544,

"lng":103.996691

},

"address":"西三环外金沙西源大道(IT大道旁)",

"uid":"223992992c5ee7e0841541df"

},

{

"name":"蓝光COCO金沙2期",

"location":{

"lat":30.681123,

"lng":103.991123

},

"address":"青羊区金沙IT大道旁",

"uid":"b7bb5abb1cd4982213293580"

}

]

}

3、设施导航

http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=图书馆&page_size=20&page_num=0&scope=2&region=成都

4、java测试类:

import java.io.BufferedReader

import java.io.InputStreamReader

import java.net.URL

import java.net.URLEncoder

import java.util.HashMap

import java.util.Map

public class LocationUtil {

private static final String BAIDU_APP_KEY = "42b8ececa9cd6fe72ae4cddd77c0da5d"

/**

* 返回输入地址的经纬度坐标 key lng(经度),lat(纬度)

*/

public static Map<String, String>getLatitude(String address) {

try {

// 将地址转换成utf-8的16进制

address = URLEncoder.encode(address, "UTF-8")

// 如果有代理,要设置代理,没代理可注释

// System.setProperty("http.proxyHost","192.168.172.23")

// System.setProperty("http.proxyPort","3209")

URL resjson = new URL("http://api.map.baidu.com/geocoder?address="

+ address + "&output=json&key=" + BAIDU_APP_KEY)

BufferedReader in = new BufferedReader(new InputStreamReader(

resjson.openStream()))

String res

StringBuilder sb = new StringBuilder("")

while ((res = in.readLine()) != null) {

sb.append(res.trim())

}

in.close()

String str = sb.toString()

System.out.println("return json:" + str)

if(str!=null&&!str.equals("")){

Map<String, String>map = null

int lngStart = str.indexOf("lng\":")

int lngEnd = str.indexOf(",\"lat")

int latEnd = str.indexOf("},\"precise")

if (lngStart >0 &&lngEnd >0 &&latEnd >0) {

String lng = str.substring(lngStart + 5, lngEnd)

String lat = str.substring(lngEnd + 7, latEnd)

map = new HashMap<String, String>()

map.put("lng", lng)

map.put("lat", lat)

return map

}

}

} catch (Exception e) {

e.printStackTrace()

}

return null

}

public static void main(String args[]) {

Map<String, String>map = LocationUtil.getLatitude("成都 高新西区西区大道1398号")

if (null != map) {

System.out.println(map.get("lng"))

System.out.println(map.get("lat"))

}

}

}