2013-10-18 157 views
0

我正試圖在谷歌地圖上放置自定義標記。我想要使​​用的圖標是png文件,並根據地圖上放置的點的類型而有所不同。標記點的位置和標記的png文件的url都是從SQL數據庫中提取的。在谷歌地圖中指定自定義標記的大小

我使用的代碼如下

var mapOptions = { 
    center: new google.maps.LatLng(markers[0].lat, markers[0].lon), 
    zoom: 7, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    // marker:true 
}; 
var infoWindow = new google.maps.InfoWindow(); 

var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 
for (i = 0; i < markers.length; i++) { 
    var data = markers[i] 
    var myLatlng = new google.maps.LatLng(data.lat, data.lon); 
    var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map, 
     title: data.venue, 
     icon: data.image 
    }); 

當這樣跑,我讓我的地圖非常大的標記,每個標記是正確的,但他們是如此之大,它看起來像一個混亂。

有關如何控制圖標大小的任何建議?

+0

也許閱讀[自定義標記]的文檔(https://developers.google.com/maps/documentation/javascript/markers#complex_icons) – geocodezip

+0

是在調整爲PNG不是一種選擇? – Andy

回答

2

您可以指定一個google.maps.Icon作爲MarkerOptions,例如,

var marker = new google.maps.Marker({ 
    position: myLatlng, 
    map: map, 
    title: data.venue, 
    icon: { 
     url: data.image, 
     scaledSize: new google.maps.Size(32, 32) 
    } 
});