1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 百度地图:根据名称定位地图点击地图获取位置名称

百度地图:根据名称定位地图点击地图获取位置名称

时间:2024-04-22 07:03:16

相关推荐

百度地图:根据名称定位地图点击地图获取位置名称

1.官网申请百度API密匙

2.创建应用,获取百度地图密匙

3.地图Demo代码

此处Demo实现功能:

1.根据搜索框中的名称,定位地图。

2.用户点击地图时,显示该位置标注,并自动获取用户点击的位置与经纬度。

<!DOCTYPE html><html lang="en"><head><title>根据地址查询经纬度</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script src="http://api./api?v=2.0&ak=53oVIOgmSIejwV7EfphPgTynOZbIiVYu"></script></head><body style="background:#CBE1FF"><div style="width:1200px;margin:auto;">要查询的地址:<input id="text_" type="text" value="广州" /><input type="button" value="查询" onclick="searchByStationName();" /><div id="container" style="position: absolute;margin-top:30px;top:0;bottom:0;left:0;right:0;border: 1px solid gray;overflow:hidden;"></div></div></body><script type="text/javascript">// getParentAddressName();var map = new BMap.Map("container");map.centerAndZoom("广州", 12);map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件map.addControl(new BMap.OverviewMapControl({isOpen: true,anchor: BMAP_ANCHOR_BOTTOM_RIGHT})); //右下角,打开map.addEventListener("click",function(e){//点击地图获取经纬度console.log(e.point)map.clearOverlays(); //清空原来的标注var marker = new BMap.Marker(new BMap.Point(e.point.lng, e.point.lat)); // 创建标注,为要查询的地方对应的经纬度map.addOverlay(marker);getAddress(e.point)});var gc = new BMap.Geocoder();function getAddress(point){gc.getLocation(point,function(searchResult){console.log(searchResult.address)document.getElementById("text_").value=searchResult.address;})}var localSearch = new BMap.LocalSearch(map);localSearch.enableAutoViewport(); //允许自动调节窗体大小function searchByStationName() {map.clearOverlays(); //清空原来的标注var keyword = document.getElementById("text_").value;localSearch.setSearchCompleteCallback(function(searchResult) {var poi = searchResult.getPoi(0);map.centerAndZoom(poi.point, 13);var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat)); // 创建标注,为要查询的地方对应的经纬度map.addOverlay(marker);marker.addEventListener("click", function() {this.openInfoWindow(infoWindow);});});localSearch.search(keyword);}</script></html>

4.效果

1.可以根据搜索框中的名称获取地图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。