这个不行的。。不能离线的。
在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"))
}
}
}