国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php 使用高德地圖(一) 畫多邊形及編輯 獲取坐標 (簡單總結)

2020-03-22 18:46:41
字體:
來源:轉載
供稿:網友
這篇文章介紹的內容是關于php 使用高德地圖(一) 畫多邊形及編輯 獲取坐標 (簡單總結),有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

首次使用高德api的話要先申請一個高德的key
主要說明:
1. 高德地圖展示
2. 高德地圖點擊獲取坐標
3. 高德地圖鼠標繪制多邊形

4. 高德地圖鼠標 編輯多邊形并獲取坐標

<style>    .map-list{float: left; margin-left: 10px;}    .pbot10{ padding-bottom: 10px;}    .marleft{ margin-left: 10px;}    </style>    <p html' target='_blank'>class="panel panel-default">        <p class="panel-body">                <p>                    <p id="container" style="width: 70%; height: 500px; float: left;"></p>                        <p style="margin-bottom: 5px;">                            <ul class="map-list-add">                                <?php         foreach ($oldRegionArr as $k => $v):        ?>                                    <li>        [<?=$v;?>],        </li>                                <?php endforeach;?>                            </ul>                            <ul class="map-list-hidden hidden">                                <?php foreach ($oldLngLatArr as $key => $val):?>                                    <li>                                        <?php foreach ($val as $k => $v):?>                                            <span><?=$v;?></span>                                        <?php endforeach;?>                                    </li>                                <?php endforeach;?>                            </ul>                            <textarea class="form-control hidden" name="region" rows="3">        </textarea>                        </p>                        <a class="btn btn-primary btn-sm fl" id="clearMarker" onclick="clearMap()">清空所有        </a>                        <a class="btn btn-primary btn-sm fl marleft" id="huaMarker">生成搶修范圍        </a>                        <br><br>                        <a class="btn btn-primary btn-sm fl marleft" id="PolyEditor" onClick="startEditPolygon()">開始編輯搶修范圍        </a>                        <a class="btn btn-primary btn-sm fl marleft" id="CircleEditor" onClick="closeEditPolygon()">結束編輯搶修范圍        </a>                    </p>                </p>            </p>        </p>        </p>        <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.4&key=高德key&plugin=AMap.MouseTool,AMap.PolyEditor,AMap.CircleEditor">        </script>        <script type="text/javascript">            var city  = '濟南';            //生成地圖            var map = new AMap.Map('container',{                resizeEnable: true,        zoom: 13            });            //地圖上添加工具            AMap.plugin(['AMap.ToolBar','AMap.Scale','AMap.OverView'],                function() {            map.addControl(new AMap.ToolBar());                        map.addControl(new AMap.Scale());                    });                //設置地圖中心                var lngLat = map.getCenter();                var lng = lngLat.lng;                var lat = lngLat.lat;                if(city) {        map.setCity("" + city + "");            } else {        map.setCenter([lng, lat]);            }            //清空地圖            function clearMap()         {        map.clearMap();                $('.map-list-add').html('');                positions = [];                $('textarea[name=region]').val('');                $('.map-list-hidden').html('');            }            //點擊地圖獲取坐標            function huaNew()         {                var positions = [];                //地圖上點擊事件                map.on('click', function(e)         {                     //顯示點擊的坐標                     var lngLat = e.lnglat.getLng() + ',' + e.lnglat.getLat();                     //將坐標填的 ul                     var html = $('.map-list-add').html();                     html += '<li>[' + lngLat + ']</li>';                     positions.push([e.lnglat.getLng(), e.lnglat.getLat()]);                     $('.map-list-add').html(html);                 });             }             //畫多邊形的參數             var xian = {                 strokeColor: "#FF33FF", //線顏色                 strokeOpacity: 0.2, //線透明度                 strokeWeight: 3,    //線寬                 fillColor: "#1791fc", //填充色                 fillOpacity: 0.35//填充透明度             };             //畫多邊形             var mouseTool = new AMap.MouseTool(map);            //在地圖中添加MouseTool插件             AMap.event.addDomListener(document.getElementById('huaMarker'), 'click', function()          {                  clearMap();                  huaNew();                  mouseTool.polygon(xian);              }, false);              //默認加載的多邊形              $(function ()           {                  var markers = [], positions = [];                  var valRegion = '[116.97174,36.707879],[116.986675,36.681658],[116.983241,36.677665],[116.954059,36.675256],';                  var len = $('.map-list-hidden li').length;                  for(var p=0; p < len; p++) {                      var posit = [];                      var defaultLng = $('.map-list-hidden li:eq('+p+') span:eq(0)').html();                      var defaultLat = $('.map-list-hidden li:eq('+p+') span:eq(1)').html();                      posit.push(parseFloat(defaultLng));                      posit.push(parseFloat(defaultLat));                      positions.push(posit);                  }                  $('textarea[name=region]').val(valRegion);                  //編輯多邊形                  var _polygon = (function(){                      var arr = positions;                      xian.path = positions;                      xian.map = map;                      return new AMap.Polygon(xian);                  })();                  //編輯多邊形初始化                  _polygonEditor = new AMap.PolyEditor(map, _polygon);                  //開始編輯                  startEditPolygon = function(){                      _polygonEditor.open();                  }                  //結束編輯                  closeEditPolygon = function(){                      var html = '', htmlText = '';                      _polygonEditor.close();                      var a =  _polygon.getPath();                      for(var q = 0; q < a.length; q++) {                          var posit = [];                          posit.push(parseFloat(a[q]['lng']));                          posit.push(parseFloat(a[q]['lat']));                          html += "<li>[" + posit + "],</li>";                          htmlText += "[" + posit + "],";                      }                      $('.map-list-add').html(html);                      $('textarea[name=region]').val(htmlText);                  }    });    </script>




參考:

http://lbs.amap.com/api/javascript-api/guide/create-map/show-map 顯示地圖

http://lbs.amap.com/api/javascript-api/guide/draw-on-map/marker-point 點標注

http://lbs.amap.com/api/javascript-api/example/marker/marker-content 點標注例子

http://lbs.amap.com/api/javascript-api/example/overlayers/polyline-circle-polygon 折線、多邊形、圓例子

http://lbs.amap.com/api/javascript-api/example/mouse-operate-map/mouse-draw-overlayers 鼠標繪制點線面

http://lbs.amap.com/faq/web/javascript-api/327 鼠標工具繪制覆蓋物,如何獲取覆蓋物的位置/范圍/路徑?

http://lbs.amap.com/api/javascript-api/example/overlayers/edit-polyline-circle-polygon 編輯折線、多邊形、圓

http://lbs.amap.com/faq/web/javascript-api/editpolygon-getpath 編輯多邊形后如何獲取多邊形的路徑?


以上就是php 使用高德地圖(一) 畫多邊形及編輯 獲取坐標 (簡單總結)的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东丽区| 宣汉县| 江津市| 安徽省| 泗洪县| 陕西省| 日喀则市| 白城市| 三明市| 陈巴尔虎旗| 巩义市| 竹山县| 微山县| 湟中县| 正定县| 南安市| 澄迈县| 湄潭县| 开阳县| 名山县| 昭平县| 酒泉市| 花莲市| 民乐县| 南阳市| 南乐县| 富源县| 普兰县| 陆丰市| 昌吉市| 常山县| 达尔| 县级市| 芜湖市| 农安县| 宣汉县| 资阳市| 乐山市| 沂水县| 余江县| 亚东县|