api百度地图的代码(百度地图api自定义地图)
admin 发布:2022-12-19 04:21 104
今天给各位分享api百度地图的代码的知识,其中也会对百度地图api自定义地图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
百度地图api获取代码怎么使用
1)下载百度地图移动版API(Android)开发包
要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件:baidumapapi.jar和libBMapApiEngine.so。
2)申请API Key 和使用Google map api一样,在使用百度地图API之前也需要获取相应的API Key。百度地图API Key与你的百度账户相关联,因此您必须先有百度帐户,才能获得API
Key;并且,该Key与您引用API的程序名称有关。
百度API Key的申请要比Google的简单多了,其实只要你有百度帐号,应该不超过30秒就能完成API Key的申请。
3)创建一个Android工程
这里需要强调一点:百度地图移动版api支持Android 1.5及以上系统,因此我们创建的工程应基于Android SDK 1.5及以上。 工程创建完成后,将baidumapapi.jar和libBMapApiEngine.so分别拷贝到工程的根目录及libs/armeabi目录下,并在工程属性-Java Build Path-Libraries中选择“Add JARs”,选定baidumapapi.jar,这样就可以在应用中使用百度地图API了。工程完整的目录结构如下图所示:
4)在布局文件中添加地图控件(res/layout/main.xml)
5)创建Activity继承com.baidu.mapapi.MapActivity
package com.liufeng.baidumap;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapController;
import com.baidu.mapapi.MapView;
public class MainActivity extends MapActivity {
private BMapManager mapManager;
private MapView mapView;
private MapController mapController;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化MapActivity
mapManager = new BMapManager(getApplication());
// init方法的第一个参数需填入申请的API Key
mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null);
super.initMapActivity(mapManager);
mapView = (MapView) findViewById(R.id.map_View);
// 设置地图模式为交通地图
mapView.setTraffic(true);
// 设置启用内置的缩放控件
mapView.setBuiltInZoomControls(true);
// 用给定的经纬度构造一个GeoPoint(纬度,经度)
GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));
// 创建标记maker
Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);
// 为maker定义位置和边界
marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());
// 取得地图控制器对象,用于控制MapView
mapController = mapView.getController();
// 设置地图的中心
mapController.setCenter(point);
// 设置地图默认的缩放级别
mapController.setZoom(12);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
@Override
protected void onDestroy() {
if (mapManager != null) {
mapManager.destroy();
mapManager = null;
}
super.onDestroy();
}
@Override
protected void onPause() {
if (mapManager != null) {
mapManager.stop();
}
super.onPause();
}
@Override
protected void onResume() {
if (mapManager != null) {
mapManager.start();
}
super.onResume();
}
}
6)在AndroidManifest.xml中配置
?xml version="1.0" encoding="utf-8"?
manifest xmlns:android="
package="com.liufeng.baidumap"
android:versionCode="1"
android:versionName="1.0"
application android:icon="@drawable/icon" android:label="@string/app_name"
activity android:name=".MainActivity" android:label="@string/app_name"
intent-filter
action android:name="android.intent.action.MAIN" /
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
/activity
/application
uses-sdk android:minSdkVersion="4" /
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /
uses-permission android:name="android.permission.INTERNET" /
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /
uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /
uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /
uses-permission android:name="android.permission.READ_PHONE_STATE" /
/manifest
如何在网页中调用百度地图api
1.进入:/wiki/static/map/API/tool/creatMap/ (创建地图-百度地图API所见即所得工具,百度官方地址,大家放心使用)切换城市,搜索需标注位置。(如下图:)设置地图:大家可以对网站显示地图的宽高进行设置,其余选项不动。添加标注:点击第一个图标后,在右侧找到自己的位置,单击鼠标左键可定位。标记图标处可更换图标形状,名称和备注填入位置相关信息。(如下图:)步骤阅读完成以上4步后,点获取代码。获取代码如下:(注意:通常我们在网页中只要插入以下代码,小虫标注出来,其余的可不用。)1.在间插入下面代码:这是样式和JS脚本。 html,body{margin:0;padding:0;} .iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap} .iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}2.在间需要显示地图的位置放入以下代码:(该代码调用地图) 3.以下代码放在页面最底端(其实可放在页面任意位置。) 当然,如果你想偷懒,将以上对应代码全放在间也是没问题的,呵呵。如何在网页中调用百度地图api
百度地图API基本使用(三)
PS:我所使用的的是百度地图Javascript API 3.0
本文是对之前使用的延续,继续对百度地图API的一些使用去做归纳和总结,本次主要是对地图上的事件以及路线规划做下一下介绍,如果有小伙伴没有看过之前的百度地图API基本使用(一),百度地图API基本使用(二),可以先去观看一下,前期所需要的一些准备,以及一些基本的用法。
感兴趣的小伙伴可以自行查看百度地图官方提供的文档
百度地图开放平台开发文档中的JavaScript API
也可以通过下方示例中心更直观地看到百度地图API的一些使用,以及它的一些特性
百度地图开放平台-示例中心
想深入研究百度地图avaScript API 3.0方法参数信息的话,可以通过下方类参考
百度地图avaScript API v3.0类参考
另外不同版本的API可以自行在开发文档中的类参考类目中找到,请自行查找
不过要注意:实例中心使用的是BMap去创建容器的,最新版GL地图命名空间为BMapGL, 可按住鼠标右键控制地图旋转、修改倾斜角度。
BMapGL在引入API的方式如下:
BMap在引入API的方式如下:
按照你自己的需求去引用
好的,废话不多说,开整
1.地图加载完成事件 这个事件顾名思义就是在地图加载完成之后会调用这个事件,我们可以去做一些操作。
实现的效果就是在地图加载完成之后,会弹出地图加载完成的提示!实际应用的时候可以能就会涉及到一些基于地图的初始化操作。具体情况具体分析,就不做过多赘述了。
2.地图单击事件 这个事件顾名思义就是在当我们鼠标点击地图上的时候,就会触发这个事件。
我们实现的这个就是单击地图的时候就会触发,可以获取到这个点的经纬度等信息。以及我们之前有介绍的覆盖物的一些触发事件,基本上都是使用的是这个单击事件,使用addEventListener监听click去实现的,这个方法还有监听别的事件,就不一一举例了,给大家看一下有哪些事件可以监听,这些都是从官方提供的类参考中找到的。
3.注销事件 这个注销方法也比较简单,上一个点击事件我们使用的是addEventListener监听click去实现的,这个注销实际上就是移除这个事件,类似于之前的删除覆盖类都是使用的remove这个字段,对应的就是removeEventListener监听click去删除这个点击事件实现的。
如果想研究比较详细的地图事件的小伙伴可以自行查看研究
事件-地图事件
1.覆盖物鼠标事件 这个覆盖物鼠标事件实质就是地图的点击事件,只不过对象换成了覆盖物对象,本质都是使用addEventListener去监听事件的发生。
创建一个点和一个面覆盖物,然后去给这两个覆盖物添加鼠标点击事件
如果想研究比较详细的覆盖物事件的小伙伴可以自行查看研究
事件-覆盖物事件
首先说明一下这个路线规划分为4种,分别是驾车路线规划,公交路线规划,步行路线规划,以及骑行路线规划,使用的类是不一样的,我们一起来看一看。
1.基础驾车路线规划服务示例:
代码如下:
2.数据接口
驾车导航服务也提供了丰富的数据接口,通过onSearchComplete回调函数可以得到BMap.DrivingRouteResult对象,它包含了驾车导航结果数据信息。 结果会包含若干驾车方案,每条方案中包含了若干驾车线路。 每条驾车线路又会包含一系列的关键步骤(BMap.Step),关键步骤描述了具体驾车行驶方案。
BMap.TransitRoute类提供公交线路规划服务。
注意:v3.0中,新增了TransitRoutePlan.getTotal 和 TransitRoutePlan.getTotalType方法,可以获取一条公交换乘方案中总路段数(步行+公交),和指定路段的交通方式类型(步行或公交)。
1.使用服务示例
代码如下:
2.进行跨城路线规划
代码如下:
BMap.WalkingRoute提供步行线路规划服务。基本用法和驾车线路规划类似。
使用服务示例
代码如下:
BMap.RidingRoute提供骑行线路规划服务,基本用法和步行线路规划基本相同。
使用服务示例
代码如下:
感兴趣的小伙伴可以自行去研究
百度地图Javascript API 3.0 出行路线规划 百度地图JS API示例 路线规划
感谢诸君的观看,文中如有纰漏,欢迎在评论区来交流。如果这篇文章帮助到了你,欢迎点赞和关注。
如何使用百度地图API自动获取地址和经纬度
1、HTML代码如下
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
title点击地图获取地址和经纬度map,address,lng,lat/title
meta name="robots" content="noindex, nofollow"
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
!-- 将百度地图API引入,设置好自己的key --
script type="text/javascript" src=";ak=7a6QKaIilZftIMmKGAFLG7QT1GLfIncg"/script
/head
body
div class="main-div"
form method="post" action="" name="theForm" enctype="multipart/form-data" onsubmit="return validate()"
table cellspacing="1" cellpadding="3" width="100%"
tr
td class="label"经度/td
tdinput type="text" name="lng" id="lng" value=""/
/td
/tr
tr
td class="label"纬度/td
tdinput type="text" name="lat" id="lat" value=""/
/td
/tr
tr
td class="label"地址/td
td
input type='text' value='' name='sever_add' id='sever_add' readonly
input type='button' value='点击显示地图获取地址经纬度' id='open'
/td
/tr
/table
/form
div id='allmap' style='width: 50%; height: 50%; position: absolute; display: none'/div
/div
/body
/html
2、JS代码如下
script type="text/javascript"
function validate() {
var sever_add = document.getElementsByName('sever_add')[0].value;
if (isNull(sever_add)) {
alert('请选择地址');
return false;
}
return true;
}
//判断是否是空
function isNull(a) {
return (a == '' || typeof(a) == 'undefined' || a == null) ? true : false;
}
document.getElementById('open').onclick = function () {
if (document.getElementById('allmap').style.display == 'none') {
document.getElementById('allmap').style.display = 'block';
} else {
document.getElementById('allmap').style.display = 'none';
}
}
var map = new BMap.Map("allmap");
var geoc = new BMap.Geocoder(); //地址解析对象
var markersArray = [];
var geolocation = new BMap.Geolocation();
var point = new BMap.Point(116.331398, 39.897445);
map.centerAndZoom(point, 12); // 中心点
geolocation.getCurrentPosition(function (r) {
if (this.getStatus() == BMAP_STATUS_SUCCESS) {
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
map.enableScrollWheelZoom(true);
}
else {
alert('failed' + this.getStatus());
}
}, {enableHighAccuracy: true})
map.addEventListener("click", showInfo);
//清除标识
function clearOverlays() {
if (markersArray) {
for (i in markersArray) {
map.removeOverlay(markersArray[i])
}
}
}
//地图上标注
function addMarker(point) {
var marker = new BMap.Marker(point);
markersArray.push(marker);
clearOverlays();
map.addOverlay(marker);
}
//点击地图时间处理
function showInfo(e) {
document.getElementById('lng').value = e.point.lng;
document.getElementById('lat').value = e.point.lat;
geoc.getLocation(e.point, function (rs) {
var addComp = rs.addressComponents;
var address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;
if (confirm("确定要地址是" + address + "?")) {
document.getElementById('allmap').style.display = 'none';
document.getElementById('sever_add').value = address;
}
});
addMarker(e.point);
}
/script
将js代码放入到html中,我们可以得到效果图如下:
api百度地图的代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于百度地图api自定义地图、api百度地图的代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-19百度推广网站,百度推广网站公司
- 05-19百度seo优化公司,百度seo公司整站优化
- 05-19百度搜索排名,百度搜索排名优化推广路径
- 05-19百度seo关键词排名优化软件,百度seo关键词排名优化软件下载
- 05-19怎么在百度上发帖推广,免费百度广告怎么投放
- 05-19百度推广有哪些推广方式,百度推广有哪些推广方式,每种推广如何计费
- 05-19百度免费广告发布平台,百度贴吧免费发布信息
- 05-19百度首页排名优化平台,百度seo排名优化技巧分享
- 05-19现在百度怎么优化排名,百度首页排名优化价格
- 05-19百度seo关键词优化工具,百度app关键词优化
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接