編輯和拖動(dòng)
                編輯時(shí)間:2017-03-03

                可由用戶編輯和拖動(dòng)的形狀

                將形狀設(shè)置為可編輯會(huì)給形狀添加手柄,用戶可以利用手柄直接在地圖上對形狀進(jìn)行位置調(diào)整、重新塑形和尺寸

                調(diào)整。您還可以將形狀設(shè)置為可拖動(dòng),以便用戶將其移至地圖上的其他地點(diǎn)。用戶對對象做出的更改無法跨會(huì)話

                存留。如果您想保存用戶的編輯,必須自行采集和存儲(chǔ)信息。

                將形狀設(shè)置為可編輯

                可通過在形狀的選項(xiàng)中將 editable 設(shè)置為 true,將任何形狀(多段線、多邊形、圓和矩形)設(shè)置為可由用

                戶編輯。


                以下代碼將設(shè)置圓為可編輯

                var pathLatLng = [{lat: 33, lng: 104}, {lat: 28, lng: 108}]
                var center = new google.maps.LatLng(30.54024807, 104.06966686);
                var testCircle = new google.maps.Circle({
                      
                radius: 1000000,//半徑
                   
                center: center,//中心點(diǎn)
                   
                editable:true, //設(shè)定可編輯
                   
                strokeColor: '#FF0000',//描邊顏色
                   
                strokeOpacity: 1.0,//描邊透明度
                   
                strokeWeight: 2, //描邊線的像素
                   
                fillColor: '#FF0000',//填充顏色
                   
                fillOpacity: 0.35//填充透明度
                });
                testCircle.setMap(map);


                運(yùn)行結(jié)果如下圖所示:


                QQ截圖20170302094824.png

                將形狀設(shè)置為可拖動(dòng)

                默認(rèn)情況下,在地圖上繪制的形狀位置固定。如需允許用戶將形狀拖動(dòng)到地圖上的其他位置,請?jiān)谛螤畹倪x項(xiàng)中

                draggable 設(shè)置為 true

                代碼示例:


                var pathLatLng = [{lat: 33, lng: 104}, {lat: 28, lng: 108},{lat: 24, lng: 118}]
                var testPolygon = new google.maps.Polygon({
                      
                map:map,
                      
                path:pathLatLng,
                      
                draggable:true,
                      
                geodesic: true,//測地多邊形或多段線。
                   
                strokeColor: '#FF0000',//描邊顏色
                   
                strokeOpacity: 1.0,//描邊透明度
                   
                strokeWeight: 2, //描邊線的像素
                   
                fillColor: '#FF0000',//填充顏色
                   
                fillOpacity: 0.35//填充透明度
                });

                 


                為多邊形或多段線啟用拖動(dòng)時(shí),您還應(yīng)考慮通過將多邊形或多段線的 geodesic 屬性設(shè)置為 true,將其變?yōu)?/p>

                測地多邊形或多段線。

                測地多邊形可在移動(dòng)時(shí)保持其真正地理形狀,導(dǎo)致多邊形在墨卡托投影法下向北或向南移動(dòng)時(shí)出現(xiàn)失真。非測地

                多邊形將在屏幕上始終保持其初始外觀。

                在測地多段線中,多段線的線段繪制為地球表面兩點(diǎn)間的最短路徑,并假定地球?yàn)榍蛎妫啾戎拢ㄍ型队?/p>

                法下則是繪制為直線。


                以下地圖顯示了兩個(gè)尺寸和樣式大致相同的三角形。紅色三角形的 geodesic 屬性設(shè)置為 true。請注意在其

                向北移動(dòng)時(shí)形狀的變化。

                QQ截圖20170302100007.png

                偵聽編輯事件

                編輯形狀時(shí),會(huì)在編輯完成時(shí)觸發(fā)事件。下面列出了這些事件。


                形狀

                事件

                 radius_changed
                 
                center_changed

                多邊形

                 insert_at
                 
                remove_at
                 
                set_at

                必須在多邊形的路徑上設(shè)置偵聽器。如果多邊形有多個(gè)路徑,必須在每個(gè)路徑上設(shè)置偵聽器。

                多段線

                 insert_at
                 
                remove_at
                 
                set_at

                必須在多段線的路徑上設(shè)置偵聽器。

                矩形

                bounds_changed



                一些有用的代碼段:

                 

                google.maps.event.addListener(circle, 'radius_changed', function() {
                   
                console.log(circle.getRadius());
                });

                google.maps.
                event.addListener(rectangle, 'bounds_changed', function() {
                   
                console.log('Bounds changed.');
                });

                 

                對于線段和多邊形來說,請?jiān)诼窂缴媳O(jiān)聽事件:


                var pathLatLng = [{lat: 33, lng: 104}, {lat: 28, lng: 108},{lat: 24, lng: 118}];

                var testPolygon = new google.maps.Polygon({
                      
                map:map,
                      
                path:pathLatLng,
                      
                draggable:true,
                      
                editable:true,
                      
                geodesic: true,//測地多邊形或多段線。
                    
                strokeColor: '#FF0000',//描邊顏色
                   
                strokeOpacity: 1.0,//描邊透明度
                   
                strokeWeight: 2, //描邊線的像素
                   
                fillColor: '#FF0000',//填充顏色
                   
                fillOpacity: 0.35//填充透明度
                });

                    //獲得路徑
                    var path=testPolygon.getPath();
                    //請?jiān)诼窂缴媳O(jiān)聽事件
                    path.addListener('set_at',function () {
                        
                console.log(this.getArray());
                    });

                 

                偵聽拖動(dòng)事件

                拖動(dòng)形狀時(shí),會(huì)在拖動(dòng)操作開始和結(jié)束時(shí)以及拖動(dòng)期間觸發(fā)事件。對于多段線、多邊形、圓和矩形,將會(huì)觸發(fā)下列事件。

                事件

                說明

                dragstart

                當(dāng)用戶開始拖動(dòng)形狀時(shí)觸發(fā)。

                drag

                在用戶拖動(dòng)形狀期間反復(fù)觸發(fā)。

                dragend

                當(dāng)用戶停止拖動(dòng)形狀時(shí)觸發(fā)。


                微信掃碼添加客服
                400-028-7262
                聯(lián)系我們
                主站蜘蛛池模板: 再深点灬舒服灬免费观看| 国模欢欢炮交150视频| 国产福利一区二区在线观看| 久草新在线观看| 精品久久一区二区| 国产成人综合精品| 99久久免费国产精精品| 拍拍拍无挡视频免费观看1000| 亚洲国产综合精品中文第一区| 美女张开双腿让男生捅| 国产日本在线视频| 99国产精品免费观看视频| 揄拍自拍日韩精品| 亚洲av日韩综合一区久热| 狠狠色综合色综合网络| 四虎精品影院在线观看视频| wwwxx在线| 夜夜揉揉日日人人青青| 中文字幕三级在线不卡| 日韩毛片最新看| 啦啦啦手机完整免费高清观看| 日本h在线精品免费观看| 大象视频在线免费观看| 中文字幕乱视频| 日韩激情无码免费毛片| 亚洲成av人片在线观看无 | 成年女人毛片免费视频| 亚洲av永久无码一区二区三区| 波多野结衣全部系列在线观看| 又大又黄又粗又爽的免费视频| 91av手机在线| 性一交一乱一伦一色一情| 亚洲国语在线视频手机在线| 精品亚洲麻豆1区2区3区| 国产亚洲美女精品久久久2020| swag在线播放| 欧美jizz18性欧美| 亚洲高清在线mv| 精品国产麻豆免费网站| 国产丰满眼镜女在线观看| 精品福利视频网站|