百度地图 JSAPI使用 定位当前地址 与路径规划


样式 div

  1. <style>
  2. #allmap {width: 100%;height: 80%;overflow: hidden;margin:0;font-family:"微软雅黑";}
  3. body{
  4. font-size: 12px;
  5. }
  6. </style>

js

  1. <script type="text/javascript">
  2. // 百度地图API功能
  3. var map = new BMap.Map("allmap"); // 创建Map实例
  4. map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
  5. map.addControl(new BMap.NavigationControl());
  6. map.addControl(new BMap.ScaleControl());
  7. map.addControl(new BMap.OverviewMapControl());
  8. map.addControl(new BMap.MapTypeControl());
  9. map.setZoom(15);
  10. map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的
  11. map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
  12. var localp;
  13. var end = "<%=URLDecoder.decode(request.getParameter("haddr"),"utf-8")%>";
  14. var geolocation = new BMap.Geolocation();
  15. geolocation.getCurrentPosition(function(r){
  16. if(this.getStatus() == BMAP_STATUS_SUCCESS){
  17. var mk = new BMap.Marker(r.point);
  18. map.addOverlay(mk);
  19. map.panTo(r.point);
  20. localp = r.point;
  21. map.clearOverlays();
  22. search(localp,end,routePolicy[0]);
  23. }
  24. else {
  25. alert('定位失败!请确认您的浏览器开启了定位功能');
  26. }
  27. },{enableHighAccuracy: true})
  28. var routePolicy = [BMAP_DRIVING_POLICY_LEAST_TIME,BMAP_DRIVING_POLICY_LEAST_DISTANCE,BMAP_DRIVING_POLICY_AVOID_HIGHWAYS];
  29. function search(start,end,route){
  30. var driving = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true},policy: route});
  31. driving.search(start,end);
  32. }
  33. </script>




原文地址:https://www.cnblogs.com/signheart/p/41b9a110311622faba929f23aa20a6bf.html