2012-11-30 45 views
0

在我嘗試進一步實施任何操作之前,我一直在Google Code Playground中對此進行測試。無法在Google JS API V3中查看地圖圈疊加結果

這只是在地圖上放置一個地圖標記,然後用以英里爲單位的半徑生成一個圓形覆蓋圖。但是,我仍然無法得到這個工作。

它似乎打破了圓圈疊加創建。我一直在尋找一個解決方案,但是我迄今爲止嘗試過的一切都要麼中斷(地圖不顯示),要麼不給我結果(沒有圈覆蓋)。

注:我遇到過類似的問題[問題:] Circle overlay in Google Map V3 API js。 我試過這個解決方案,但沒有奏效。

function initialize() 
{ 
    if (GBrowserIsCompatible()) 
    { 
    var map = new GMap2(document.getElementById("map_canvas")); 
    map.setCenter(new GLatLng(30.6957, -88.1813), 13); 


    var latlng = new GLatLng(30.6957, -88.1813); 
    map.addOverlay(new GMarker(latlng)); 

    var draw_circle = null; 

    function Draw_Circle(Miles) 
    { 
     Miles *= 1600; 

     if (draw_circle != null) 
     { 
     draw_circle.setMap(null); 
     } 

     draw_circle = new google.maps.Circle({ 
     center: latlng, 
     radius: Miles, 
     strokeColor: "#FF0000", 
     strokeOpacity: 0.8, 
     strokeWeight: 2, 
     fillColor: "#FF0000", 
     fillOpacity: 0.35, 
     map: map 
     }); 
    } 

    Draw_Circle(15); 
    } 
} 

再次感謝您提前。

編輯︰現在,我已被告知我是混合API版本。我想出了以下情況:

var latLng; 

function initialize() { 
    var map; 
    var mapDiv = document.getElementById('map-canvas'); 
    map = new google.maps.Map(mapDiv, { 
    center: new google.maps.LatLng(30.6957, -88.1813), 
    zoom: 13, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    latLng = new google.maps.LatLng(30.6957, -88.1813); 
    var marker = new google.maps.Marker({ 
     position: latLng, 
     map: map 
    }); 

    var draw_circle = null; 

    function Draw_Circle(Miles)  
    {   
    Miles *= 1600;   
    if (draw_circle != null)  
    {   
     draw_circle.setMap(null);  
    }  

    draw_circle = new google.maps.Circle({   
     center: latlng,   
     radius: Miles,   
     strokeColor: "#FF0000",   
     strokeOpacity: 0.8,   
     strokeWeight: 2,   
     fillColor: "#FF0000",   
     fillOpacity: 0.35,   
     map: map  
    }); 

    }  

    Draw_Circle(15); 
} 

我幾乎沒有......現在,我沒有從任何調試器的錯誤信息,以表示有什麼問題我的圈覆蓋。

+1

這看起來像是V2和V3的混合體。哪個API你參考? –

+0

那我不知道。我應該只使用版本3.我得到的函數的例子應該是V3。 – Exitium

+0

是否在[控制檯](http://stackoverflow.com/questions/66420/how-do-you-launch-the-javascript-debugger-in-google-chrome)中收到任何錯誤? (像GMap2 undefined) –

回答

1

第1期:您一起使用Google Maps API V2Google Maps API V3

問題2:在下面的代碼

..... 
draw_circle = new google.maps.Circle({   
    center: latlng, 
    ..... 

的誤差拋出是ReferenceError: latlng is not defined

如果您將latlng替換爲latLng,該腳本將按預期工作。

+0

我找到了解決辦法。我操縱了Google給出的例子,並能夠使這個方法起作用。我必須等待發布解決方案。謝謝你的幫助 - 如果沒有它,我不會做到這一點。 – Exitium

+0

如果你用'latLng'替換'latlng',你的解決方案將會起作用。 –

相關問題