1 适用环境
移动应用、浏览器端应用均可调起Android版百度地图。
2 移动应用调用百度地图
该调用方式是指第三方基于Android SDK进行应用开发时要调用Android版百度地图客户端需遵守的协议。该协议要正确执行除了要参数填写正确外,还必须要安装Android百度地图
协议规范
intent://product/[service/]action[?parameters]#Intent;scheme=bdapp;package=package;end
//parameters功能参数定义,具体规范见功能协议说明
组成说明
参数名称 | 参数说明 | 是否必选 | 备注 |
---|---|---|---|
intent:// | android固定协议头 | 必选 | |
product | 产品线名称,如百度地图客户端(map) | 必选 | |
service | 具体功能服务名称,如POI检索服务(place) | 必选 | |
action | 方法名称,如POI检索中的详情检索(detail) | 必选 | |
parameters | 方法参数,参考各个功能协议说明的定义 | 必选 | |
scheme | 固定为bdapp,即等价于iOS的协议头。 | 必选 | |
package | 客户端包名称,如百度地图客户端(com.baidu.BaiduMap) | 必选 |
代码片段:
intent = Intent.getIntent("intent://map/line?coordtype=&zoom=®ion=上海&name=28&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end"); //调起百度地图客户端(Android)展示上海市"28"路公交车的检索结果 startActivity(intent); //启动调用3具体代码例子及效果功能如下
Intent it = null;
try {
it = Intent
.getIntent("intent://map/marker?location="
+ netList.get(position).getLoaction().getLATITUDE()
+ ","
+ netList.get(position).getLoaction().getLONGITUDE()
+ "&title="
+ netList.get(position).getName()
+ "&content="
+ netList.get(position).getAddress()
+ "&src=southwest#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (ActivityUtils.isInstalled(ct, "com.baidu.BaiduMap")) {
startActivity(it);
} else {
Toast.makeText(ct, "您没有安装百度地图应用程序,请安装!", Toast.LENGTH_LONG).show();
}
}
try {
it = Intent
.getIntent("intent://map/marker?location="
+ netList.get(position).getLoaction().getLATITUDE()
+ ","
+ netList.get(position).getLoaction().getLONGITUDE()
+ "&title="
+ netList.get(position).getName()
+ "&content="
+ netList.get(position).getAddress()
+ "&src=southwest#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (ActivityUtils.isInstalled(ct, "com.baidu.BaiduMap")) {
startActivity(it);
} else {
Toast.makeText(ct, "您没有安装百度地图应用程序,请安装!", Toast.LENGTH_LONG).show();
}
}