簡體   English   中英

無法在Google地圖上顯示多邊形

[英]Failed to show polygon on Google Map

我嘗試使用Chrome和JSLint調試此代碼4天,但沒有任何希望。 我的代碼應在Google地圖上顯示2個區域,並用其RegionID

我的HTML

<body>
    <div id="map_canvas" style="width: 100%; height: 100%;"></div>            

<script type="text/javascript"
    src="https://maps.googleapis.com/maps/api/js?sensor=false&region=vi&language=vi">
</script>
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript">
    var map;

    function initialize() {
        var mapOptions = {
            center: new google.maps.LatLng(10.79, 826.694),
            zoom: 13,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById("map_canvas"),
            mapOptions);
    }
</script>

<script type="text/javascript">
    $(document).ready(function () {        
        initialize();
        var model =  [{"ID":946,"Latitude":10.7654200827348,"Longitude":106.681716282384,"RegionID":80},{"ID":947,"Latitude":10.7563117596896,"Longitude":106.685397072824,"RegionID":80},{"ID":948,"Latitude":10.7537788369752,"Longitude":106.68713674361,"RegionID":80},
{"ID":1271,"Latitude":10.8577143149377,"Longitude":106.657884916756,"RegionID":82},{"ID":1272,"Latitude":10.8576257110992,"Longitude":106.657710314914,"RegionID":82},{"ID":1273,"Latitude":10.8575762617472,"Longitude":106.657500586099,"RegionID":82},{"ID":1274,"Latitude":10.8575794962578,"Longitude":106.657309632748,"RegionID":82},{"ID":1275,"Latitude":10.8576187762307,"Longitude":106.65709567219,"RegionID":82}]      
        polygon(model);        
    });
</script>

這是我的polygon函數

// Take an array of objects that have lat and lon attribute
function polygon(polygonCoords) {    
    // Initialize    
    // First dimension
    var id = polygonCoords[0].RegionID;
    var long;
    var lat;
    var region = new Array();
    for (var i = 0; i < polygonCoords.length; i++) {
        if ((id != polygonCoords[i].RegionID) || (i == polygonCoords.length - 1)) {
            // Draw polygon
            // Set path to a polygon along with polygon's option                

            var regionPolygon = new google.maps.Polygon({
                paths: region,
                fillColor: "#0000A0",                
                editable: false,                
            });


            // Set to map
            regionPolygon.setMap(map);

            // Reset stuffs
            region.length = 0;
            id = polygonCoords[i].RegionID;
        }
        long = polygonCoords[i].Longitude;
        lat = polygonCoords[i].Latitude;
        region.push(new google.maps.LatLng(lat, long));
    }
}

我收到的只是一張沒有任何多邊形的Google地圖。 我試着刪除for循環,並通過一個變量推送到region數組,它再次起作用。 這太荒謬了,但這是我四天后才想到的。 謝謝

我無法告訴您那里發生了什么,但是當我更換時它對我有用

region.length=0;

region=[];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM