2012-12-06 23 views
0

我試圖使用谷歌地圖標記的精靈圖像,但它不顯示。下面是我使用谷歌地圖圖像標記沒有正確放置在精靈

function setMarkers(map, markers) { 

    var google_image = new google.maps.MarkerImage("http://www.mydomain.com/images/bodycss/pointer.png", new google.maps.Size(32, 32), new google.maps.Point(28, 32)); 

     for (var i = 0; i < markers.length; i++) { 
      var sites = markers[i]; 
      var siteLatLng = new google.maps.LatLng(sites[1], sites[2]); 
      var marker = new google.maps.Marker({ 
       position: siteLatLng, 
       map: map, 
       title: sites[0], 
       zIndex: sites[3], 
       html: sites[4], 
       icon: google_image 
      }); 

      var contentString = "Some content"; 

      google.maps.event.addListener(marker, "mouseover", function() { 
       infowindow.setContent(this.html); 
       infowindow.open(map, this); 
      }); 
     } 
    } 

圖像尺寸,我給出32PX * 32PX和圖像位置點我給了28和32只地圖沒有標記顯示的代碼。任何幫助,將不勝感激

回答

0

您的問題可能有不同的問題。在進入問題之前要測試的幾件事 -

測試您的代碼而不使用自定義標記並查看標記是否正確顯示。如果這不起作用,你的latlng值是錯誤的。如果有效,請檢查您的網站是否可以訪問您的精靈圖像(請參閱Chrome或Firebug控制檯以瞭解錯誤)。如果沒有錯誤,則您的位置點可能無法正確調整。

在創建標記後還要添加map.setCenter(marker.getPosition()),以便它在查看區域中顯示。

更新 - 在下面的行中更改您的尺寸和點參數,直到找到標記,如果上述問題不是問題。

var google_image = new google.maps.MarkerImage("http://www.mydomain.com/images/bodycss/pointer.png", new google.maps.Size(32, 32), new google.maps.Point(28, 32));

0

乍一看,它可能是你設置座標錯誤? LatLng通常表示爲:54.621790812770513,-3.562549943618061。

您指定的位置(28,32)是沙特阿拉伯的一個點,距離任何地方100英里,除非您的意圖是?

此外,您還沒有將地圖集中在該點上,因此它可能會顯示(在沙特阿拉伯),而您的地圖則位於其他地方?

如果有人解決您的問題,請接受答案(雖然我可能沒有)。只有禮貌。

+0

感謝您的快速回復。其實LatLng的參數是正確給出的。我的意圖沒有顯示(28,32)是沙特阿拉伯的一個觀點。自從我使用精靈圖像以來,我認爲它顯示圖像位置。我想要做的只是將此圖像添加到Google標記背景:url('../ images/bodycss/pointer.png')28px -32px ;. 而且我很抱歉沒有接受答案,因爲我從來不知道有這樣的功能。我從現在開始就聽取您的意見。 –

+0

嘿是任何人如何解決這個問題。 –