Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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 GoogleMaps矩形方法包含错误_Javascript_Google Maps_Geolocation_Prototypejs - Fatal编程技术网

Javascript GoogleMaps矩形方法包含错误

Javascript GoogleMaps矩形方法包含错误,javascript,google-maps,geolocation,prototypejs,Javascript,Google Maps,Geolocation,Prototypejs,嗯,我有一个谷歌地图实例,其中有一个TraceHandler。这样,用户就可以根据城市地图绘制线条。有了这些线路,我使用google DirectionsRoute服务生成一条线路。该服务返回各种信息,包括*overview\u路径。包含路线中所有方向变化点。使用这些点,我创建三角形,如下所示: var triangle; for (var indexerTrian = 0; indexerTrian < self.bounds.length

嗯,我有一个谷歌地图实例,其中有一个TraceHandler。这样,用户就可以根据城市地图绘制线条。有了这些线路,我使用google DirectionsRoute服务生成一条线路。该服务返回各种信息,包括*overview\u路径。包含路线中所有方向变化点。使用这些点,我创建三角形,如下所示:

            var triangle;
            for (var indexerTrian = 0; indexerTrian < self.bounds.length; indexerTrian++) {

                if (indexerTrian + 1 == self.bounds.length) break;

                var maxLng = self.bounds[indexerTrian].lng() < self.bounds[indexerTrian + 1].lng() ? self.bounds[indexerTrian].lng() : self.bounds[indexerTrian + 1].lng();
                var minLng = self.bounds[indexerTrian].lng() > self.bounds[indexerTrian + 1].lng() ? self.bounds[indexerTrian].lng() : self.bounds[indexerTrian + 1].lng();

                var latLngSouthWest = new gMap.LatLng(self.bounds[indexerTrian].lat(), maxLng);
                var latLngNorthEast = new gMap.LatLng(self.bounds[indexerTrian + 1].lat(), minLng);

                triangle= new gMap.LatLngBounds(latLngSouthWest, latLngNorthEast);

                self.triangles.push(triangle);
            }
此例程的第三部分使用这些三角形在路线中引入点。一些代码:

//for each point
for (var i in result.page) {
                    stopPoint = result.page[i];
                    latLng = new gMap.LatLng(stopPoint.latitude, stopPoint.longitude);

                    //for each triangle
                    for (var iTrian = 0; iTrian < self.triangles.length; iTrian++) {

                        //this guy verify if the stopPoint is inside the triangle.
                        //if so. Drop it on map
                        if (self.triangles[iTrian].contains(latLng)) {

                            //this method just generate a Marker instance.
                            self.SetaMarkers(latLng, iconMarker, stopPoint.descricao, true);
                            counter++;
                            break;
                        }
                        //this is a DEBUG if who prints all points if my loop comes to 
                        //end
                        else if ((iTrian + 1) == self.triangles.length) {

                            self.SetaMarkers(latLng, null, stopPoint.descricao, true);
                            //break;
                        }
                    }
                }
这很有效。执行时没有错误。但是对于那些我改变经度的三角形,包含的东西不起作用。这可能是一个错误

这里有一幅图片要展示。我正在打印要调试的三角形:正如你们在图片中看到的。法线红色标记是所有三角形边界之外的停止点。有编辑图像的是三角形边界上的停止点


我已经试过很多东西了。。现在我要打印每个三角形的中心,看看它是否在它必须在的地方。

在路线25米后用一个25米的圆解决了这个问题。现在,我可以让用户设置半径,让每个人都知道