Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取已编辑多边形的id var映射; var sampArr=[]; 函数initMap(){ 设坐标=[]; 让getCoordinates=localStorage.getItem(“多边形”); if(typeof getCoordinates=='string'){ coordinates=JSON.parse(getCoordinates); } 让polygonPoints=coordinates.map((项)=>item.coord) if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(成功,错误); }否则{ 警报(“不支持位置”); } 函数错误(msg){ 警报(“地理位置错误”); } 功能成功(职位){ var lats=位置坐标纬度; var lngs=位置坐标经度; map=new google.maps.map(document.getElementById(“map”){ 中心:{ 拉特:拉特, 液化天然气:液化天然气 }, 缩放:12, }); marker=新的google.maps.marker({ 职位:{ 拉特:拉特, 液化天然气:液化天然气 }, 地图, 标题:“我的位置”, }); //初始化地图上现有的poygon。 用于(坐标的变量项){ var newShape=new google.maps.Polygon({ id:items.id\u多边形, 路径:items.coord, strokeColor:#FF0000“, 笔划不透明度:0.8, 冲程重量:3, fillColor:#FF0000“, 不透明度:0.35, 是的, }); sampArr.push(新闻形状); sampArr[sampArr.length-1].setMap(map); //侦听在现有多边形中所做的更改,并在本地进行更新。 sampArr[sampArr.length-1].getpath().forEach(函数(路径,索引){ google.maps.event.addListener(路径'insert_at',函数(){ log('insert_at event',sampArr[sampArr.length-1].id); }); google.maps.event.addListener(路径'remove_at',函数(){ log('remove_at event',sampArr[sampArr.length-1].id); }); google.maps.event.addListener(路径'set_at',函数(){ log('set_at event',sampArr[sampArr.length-1].id); }); }); } } } google.maps.event.addDomListener(窗口“加载”,initMap);_Javascript_Google Maps_Polygon - Fatal编程技术网

Javascript 如何获取已编辑多边形的id var映射; var sampArr=[]; 函数initMap(){ 设坐标=[]; 让getCoordinates=localStorage.getItem(“多边形”); if(typeof getCoordinates=='string'){ coordinates=JSON.parse(getCoordinates); } 让polygonPoints=coordinates.map((项)=>item.coord) if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(成功,错误); }否则{ 警报(“不支持位置”); } 函数错误(msg){ 警报(“地理位置错误”); } 功能成功(职位){ var lats=位置坐标纬度; var lngs=位置坐标经度; map=new google.maps.map(document.getElementById(“map”){ 中心:{ 拉特:拉特, 液化天然气:液化天然气 }, 缩放:12, }); marker=新的google.maps.marker({ 职位:{ 拉特:拉特, 液化天然气:液化天然气 }, 地图, 标题:“我的位置”, }); //初始化地图上现有的poygon。 用于(坐标的变量项){ var newShape=new google.maps.Polygon({ id:items.id\u多边形, 路径:items.coord, strokeColor:#FF0000“, 笔划不透明度:0.8, 冲程重量:3, fillColor:#FF0000“, 不透明度:0.35, 是的, }); sampArr.push(新闻形状); sampArr[sampArr.length-1].setMap(map); //侦听在现有多边形中所做的更改,并在本地进行更新。 sampArr[sampArr.length-1].getpath().forEach(函数(路径,索引){ google.maps.event.addListener(路径'insert_at',函数(){ log('insert_at event',sampArr[sampArr.length-1].id); }); google.maps.event.addListener(路径'remove_at',函数(){ log('remove_at event',sampArr[sampArr.length-1].id); }); google.maps.event.addListener(路径'set_at',函数(){ log('set_at event',sampArr[sampArr.length-1].id); }); }); } } } google.maps.event.addDomListener(窗口“加载”,initMap);

Javascript 如何获取已编辑多边形的id var映射; var sampArr=[]; 函数initMap(){ 设坐标=[]; 让getCoordinates=localStorage.getItem(“多边形”); if(typeof getCoordinates=='string'){ coordinates=JSON.parse(getCoordinates); } 让polygonPoints=coordinates.map((项)=>item.coord) if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(成功,错误); }否则{ 警报(“不支持位置”); } 函数错误(msg){ 警报(“地理位置错误”); } 功能成功(职位){ var lats=位置坐标纬度; var lngs=位置坐标经度; map=new google.maps.map(document.getElementById(“map”){ 中心:{ 拉特:拉特, 液化天然气:液化天然气 }, 缩放:12, }); marker=新的google.maps.marker({ 职位:{ 拉特:拉特, 液化天然气:液化天然气 }, 地图, 标题:“我的位置”, }); //初始化地图上现有的poygon。 用于(坐标的变量项){ var newShape=new google.maps.Polygon({ id:items.id\u多边形, 路径:items.coord, strokeColor:#FF0000“, 笔划不透明度:0.8, 冲程重量:3, fillColor:#FF0000“, 不透明度:0.35, 是的, }); sampArr.push(新闻形状); sampArr[sampArr.length-1].setMap(map); //侦听在现有多边形中所做的更改,并在本地进行更新。 sampArr[sampArr.length-1].getpath().forEach(函数(路径,索引){ google.maps.event.addListener(路径'insert_at',函数(){ log('insert_at event',sampArr[sampArr.length-1].id); }); google.maps.event.addListener(路径'remove_at',函数(){ log('remove_at event',sampArr[sampArr.length-1].id); }); google.maps.event.addListener(路径'set_at',函数(){ log('set_at event',sampArr[sampArr.length-1].id); }); }); } } } google.maps.event.addDomListener(窗口“加载”,initMap);,javascript,google-maps,polygon,Javascript,Google Maps,Polygon,我试图在编辑后识别多边形的id。我在addListener中安慰了这个值,但总是得到所有多边形的最后一个id。例如:如果地图上有5个多边形,则编辑后所有多边形的多边形id将为5 如果我没记错,您需要自己分配id属性 用记号笔就能做到这一点 let marker=new google.maps.marker({ _身份证号码:12345, 职位:{ 拉特:拉特, 液化天然气:液化天然气 }, 地图, 标题:“我的位置”, }); 在处理多边形时,可能需要对自定义特性使用。,因为它们可能会被覆盖

我试图在编辑后识别多边形的id。我在addListener中安慰了这个值,但总是得到所有多边形的最后一个id。例如:如果地图上有5个多边形,则编辑后所有多边形的多边形id将为5

如果我没记错,您需要自己分配id属性

用记号笔就能做到这一点

let marker=new google.maps.marker({
_身份证号码:12345,
职位:{
拉特:拉特,
液化天然气:液化天然气
},
地图,
标题:“我的位置”,
});
在处理多边形时,可能需要对自定义特性使用
,因为它们可能会被覆盖

var shape=new google.maps.Polygon({
_id:items.id\u多边形,
路径:items.coord,
strokeColor:#FF0000“,
笔划不透明度:0.8,
冲程重量:3,
fillColor:#FF0000“,
不透明度:0.35,
是的,
});

如果我没记错,您需要自己分配id属性

用记号笔就能做到这一点

let marker=new google.maps.marker({
_身份证号码:12345,
职位:{
拉特:拉特,
液化天然气:液化天然气
},
地图,
标题:“我的位置”,
});
在处理多边形时,可能需要对自定义特性使用
,因为它们可能会被覆盖

var shape=new google.maps.Polygon({
_id:items.id\u多边形,
路径:items.coord,
strokeColor:#FF0000“,
笔划不透明度:0.8,
冲程重量:3,
fillColor:#FF0000“,
不透明度:0.35,
是的,
});

您正在使用
sampArr[sampArr.length-1].id
作为id。该id(在添加所有多边形后)始终是最后一个多边形。最简单的“现代”方法是在保存多边形id的
forEach
函数的范围内定义一个变量(使用
let
):

代码片段:

var映射;
var sampArr=[];
var defaultPosition={
协调:{
纬度:40.7127753,
经度:-74.0059728
}
}
函数initMap(){
设坐标=[];
//让getCoordinates=localStorage.getItem(“多边形”);
//if(typeof getCoordinates=='string'){
//coordinates=JSON.parse(getCoordinates);
// }
让polygonPoints=coordinates.map((项)=>item.coord)
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(成功,错误);
}否则{
console.log(“不支持位置”);
成功(职位);
}
函数错误(msg){
console.log('地理位置错误:'+msg.code+''+msg.message);
成功(职位);
}
功能成功(职位){
var lats=位置坐标纬度;
var lngs=位置坐标经度;
map=新的google.maps.map(document.ge
sampArr[sampArr.length - 1].getPaths().forEach(function(path, index) {
  let polyId = sampArr[sampArr.length - 1].id;
  google.maps.event.addListener(path, 'insert_at', function() {
    console.log('insert_at event', polyId);
  });
  google.maps.event.addListener(path, 'remove_at', function() {
    console.log('remove_at event', polyId);
  });
  google.maps.event.addListener(path, 'set_at', function() {
    console.log('set_at event', polyId);
  });
});