对于使用谷歌地图containsLocation的循环

时间:2017-11-02 12:07:22

标签: javascript google-maps for-loop

我试图编写一个脚本来检查coords是否在多边形内部,并用coords和answer来写一条消息。如果我不使用for循环,脚本可以正常工作。当我添加它停止工作。你能帮我找个错误吗?

<script src="https://maps.googleapis.com/maps/api/js?key=[.....]&libraries=geometry&callback=initMap"
         async defer></script>
    <script>


      var places =  [["50.1402260","19.4010130"],
                     ["50.0000000","19.0000000"],
                     ["50.0045854","20.9677128"],
                     ["52.7733040","23.1953210"],
                     ["51.9927950","22.3003809"],
                     ["52.1453406","16.4066937"],
                     ["52.8638677","17.9440594"]];

    var coords1 =   [
{lat: 54.3123175, lng: 18.6317826},
{lat: 54.3123175, lng: 18.6427688}
        ];


      function initMap() 
      {
            var map = new google.maps.Map(document.getElementById('map'), 
                {
                center: {lat: 50.0, lng: 40.0},
                zoom: 12,
                }
                );
            var myarea = new google.maps.Polygon({paths: coords1});
            var win1=window.open("","test","width=400,status=yes,height=50");
            for (i = 0 , i < places.length, i++) {
                var a = places [0];
                var place = new google.maps.LatLng(a[0],a[1]);
                var resultColor =
                    google.maps.geometry.poly.containsLocation(place, myarea) ?
                    'yes' :
                    'no';    

                win1.document.writeln(a[0]+','+a[1]+', '+resultColor);
            }
        }
    </script>

1 个答案:

答案 0 :(得分:0)

使用此:

 for (i = 0; i < places.length; i++) {
        var a = places [i];
        var place = new google.maps.LatLng(a[0],a[1]);
        var resultColor =google.maps.geometry.poly.containsLocation(place,myarea)?'yes' :'no';
        win1.document.writeln(a[0]+','+a[1]+', '+resultColor);
    }