1

我正在向Google Maps API和JavaScript介紹自己。Javascript參數參數和谷歌地圖

我已經在我的網站上設置了我的地圖,現在我試圖在同一張地圖上動態設置多個標記。

對於這一點,我寫了這個功能:

function teste(lat,long){ 
     alert (lat); 
     alert (long); 
     //var companyPos3 = new google.maps.LatLng(41.545308,-8.421782); 
     var companyPos3 = new google.maps.LatLng(lat,long); 
     var companyMarker3 = new google.maps.Marker({ 
       position: companyPos3, 
       map: map, 
      // icon: companyLogo, 
       title:"Mar!!!" }); 
      //}  
     ... 
    } 

而且在這裏我的問題所在。我無法使用'lat'和'long'函數參數設置google.maps.LatLng。但是,彈出警告對話框消息,顯示來自PHP的值。

我也嘗試刪除警報功能,但標記沒有顯示。

我不確定它是否存在Google Maps API技巧或JavaScript技巧。

哦,如果我將值設置爲註釋行,它的工作原理,但我不想這個解決方案:)。

+0

奇怪。我想知道你是否在companyMarker3.position獲得評估之前收集垃圾。只是爲了咧嘴笑,嘗試製作經緯度全球圖,或者做一些像位置:new google.maps.LatLng(lat,long)。 – MrLeap

+0

你在哪裏調用'teste()'函數? 'lat' /'long'也可以被當作字符串而不是數字。 – boz

+0

爲了迴應boz,我打電話給php: echo''; 但我猜這是正確的,因爲我可以得到這些值的js函數...:S – Sammy

回答

4

long是JS中的保留字。 Please check here。所以,請嘗試lng而不是長時間設置圖標請參閱here。嘗試像

function teste(lat,lng){ 
    alert (lat); 
    alert (lng); 
    //var companyPos3 = new google.maps.LatLng(41.545308,-8.421782); 
    var companyPos3 = new google.maps.LatLng(lat,lng); 
    var companyMarker3 = new google.maps.Marker({ 
      position: companyPos3, 
      map: map, 
     // icon: companyLogo, 
      title:"Mar!!!" }); 
     //}  
    ... 
} 
+0

One secong plz ... – Sammy

+0

經過測試,但仍無法正常工作。感謝你的付出! :( – Sammy

+0

我創建了這個** [小提琴](http://jsfiddle.net/Y7X8x/1/)**請給它一次嘗試 – nicholasnet