以前一直用高德地图的API,后来因为需求,必须用百度的地图API。这些API都已经封装的很智能了,只需要一定的编程思维,就很简单可以实现功能。
功能的大概:用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中。
主要是百度地图API的使用
复制代码 代码如下: var map = new BMap.Map("allmap"); //实例化一个地图对象 var point = new BMap.Point(116.331398,39.897445); //设置地图中心的位置 map.centerAndZoom(point,12); //设置地图元素的可视层
map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用 map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
function myFun(result){ var cityName = result.name; map.setCenter(cityName);
} var myCity = new BMap.LocalCity(); myCity.get(myFun);
i=0 //点击获取坐标 map.addEventListener("click",function(e){
if(i === 0) { //存储经纬度 lng = e.point.lng; lat = e.point.lat;
//在地图上面描点 var marker = new BMap.Marker(new BMap.Point(lng,lat)); // 创建标注 map.addOverlay(marker); marker.enableDragging(); //可拖拽
var gc = new BMap.Geocoder(); //获取地址的数据地址 var pt = e.point; gc.getLocation(pt, function(rs){ var addComp = rs.addressComponents; address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;
//画图 var label = new BMap.Label(address,{offset:new BMap.Size(20,-10)}); marker.setLabel(label); });
i=1; }
});
上面的代码基本都是百度提供的DOME 我只是做了一些简单组合。。 惭愧呀 |