Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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 谷歌地图上意外的多边形形状_Javascript_Google Maps_Google Maps Api 3_Convex Hull - Fatal编程技术网

Javascript 谷歌地图上意外的多边形形状

Javascript 谷歌地图上意外的多边形形状,javascript,google-maps,google-maps-api-3,convex-hull,Javascript,Google Maps,Google Maps Api 3,Convex Hull,我在创建复杂的凸面外壳时遇到问题。如果我改为10点左右的s简单多边形,效果很好,但是当我在一个大区域上有20-30个点时,它会在多边形中创建一个“分割”。而数学上说,它应该寻找所有的异常值,并将它们用作“外壳点”。我想知道我的数学是不是不正确,或者这是JavaScript的侥幸 作为参考,以下是我收集数学和示例代码片段的网站: 这是我能得到的最精简的代码,同时仍然是一个独立的代码段 var-gmarkers=[]; var点=[]; var外壳点=[]; var-map=null; var多段

我在创建复杂的凸面外壳时遇到问题。如果我改为10点左右的s简单多边形,效果很好,但是当我在一个大区域上有20-30个点时,它会在多边形中创建一个“分割”。而数学上说,它应该寻找所有的异常值,并将它们用作“外壳点”。我想知道我的数学是不是不正确,或者这是JavaScript的侥幸

作为参考,以下是我收集数学和示例代码片段的网站:

这是我能得到的最精简的代码,同时仍然是一个独立的代码段

var-gmarkers=[];
var点=[];
var外壳点=[];
var-map=null;
var多段线;
var infowindow=new google.maps.infowindow(
{
尺寸:新谷歌。地图。尺寸(150,50)
});
函数初始化(){
变量myOptions={
缩放:10,
中心:新google.maps.LatLng(41.024767,-74.122642),
mapTypeControl:true,
mapTypeControlOptions:{style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},
导航控制:对,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
google.maps.event.addListener(映射,'click',函数(){
infowindow.close();
});
google.maps.event.addListenerOnce(映射,'bounds_changed',函数(){
//在地图的任意位置添加10个标记
var bounds=map.getBounds();
var soutwest=bounds.getsoutwest();
var northEast=bounds.getNorthEast();
var lngSpan=northEast.lng()-soutwest.lng();
var latSpan=northEast.lat()-soutwest.lat();
map.setCenter(map.getCenter());
map.setZoom(map.getZoom()-1);
点数=[
新google.maps.LatLng(41.0247669,-74.1226425),
新的google.maps.LatLng(41.0410868,-74.134846099999),
新的google.maps.LatLng(41.0238951,-74.132827499999),
新google.maps.LatLng(41.0309834,-74.1264094),
新的google.maps.LatLng(41.0252598,-74.155237),
新google.maps.LatLng(40.9419984,-73.9405831),
新google.maps.LatLng(40.9518704,-73.9264803),
新google.maps.LatLng(40.9530188,-73.9344715),
新的google.maps.LatLng(40.6771541,-74.1165864),
新的google.maps.LatLng(40.6586571,-74.121231799999),
新的google.maps.LatLng(40.8025724,-74.1505466),
新的google.maps.LatLng(40.78835,-74.177001699999),
新的google.maps.LatLng(40.8024772,-74.1492507),
新的google.maps.LatLng(40.7995324,-74.1508104),
新google.maps.LatLng(40.7954599,-74.1443422),
新的google.maps.LatLng(40.917345,-73.9939529),
新的google.maps.LatLng(40.9256096,-74.0012066),
新的google.maps.LatLng(40.9114334,-74.0070829),
新的google.maps.LatLng(40.9251857,-73.994916199999),
新google.maps.LatLng(40.923538,-73.9888347),
新的google.maps.LatLng(40.9356149,-74.0044661),
新的google.maps.LatLng(40.9336639,-74.0126835),
新的google.maps.LatLng(40.9168748,-74.0047416),
新的google.maps.LatLng(40.9235845,-73.996156599999),
新google.maps.LatLng(40.9346191,-73.9895914),
新的google.maps.LatLng(40.9169838,-74.0046957),
新的google.maps.LatLng(40.9319544,-74.0109391),
新的google.maps.LatLng(40.924245,-74.00189530000002),
新的google.maps.LatLng(40.9247537,-74.0057516),
新的google.maps.LatLng(40.936268,-73.992916999999),
新的google.maps.LatLng(40.9354675,-74.004511999999),
新google.maps.LatLng(40.9336023,-73.9827045),
新的google.maps.LatLng(40.9173526,-73.9930577),
新google.maps.LatLng(40.9249738,-73.9951007),
新google.maps.LatLng(40.9114631,-74.0059352),
新的google.maps.LatLng(40.9197391,-74.0056024),
新的google.maps.LatLng(40.9147328,-74.0110768),
新google.maps.LatLng(40.9357446,-74.0051089),
新的google.maps.LatLng(40.9206033,-74.002538),
新的google.maps.LatLng(40.9247956,-74.0014362),
新的google.maps.LatLng(40.9302183,-73.9943661),
新的google.maps.LatLng(40.9320254,-74.0052007),
新google.maps.LatLng(40.6714401,-74.5352054),
新google.maps.LatLng(40.9356751,-73.9807761),
新google.maps.LatLng(40.922373,-73.9908769),
新google.maps.LatLng(40.9317953,-73.9832555),
新google.maps.LatLng(40.9337966,-74.0087355)
];
对于(变量i=0;i