2012-07-02 65 views
0

我經歷了幾次這些文檔後,一直在我的頭上撞牆!我似乎無法通過API錯誤讓地圖出現在我的網站上。谷歌已禁用此應用程序與Maps API的GMaps JS API v3

我從網頁裏的我要顯示在地圖得到以下錯誤信息:

谷歌已經禁止對此應用使用地圖API。提供的密鑰不是有效的Google API密鑰,或者未獲得此網站上Google Maps JavaScript API v3的授權。如果您是此應用的所有者,您可以瞭解這裏獲得有效的密鑰:https://developers.google.com/maps/documentation/javascript/tutorial#Obtaining_Key

我(現在的好幾倍),已經進入我的帳戶和:

  1. 啓用地圖API第3版服務
  2. 生成一個新的API密鑰
  3. 將我允許的推薦人添加到密鑰。 (包括www.domain.com和domain.com網址)

我已經加入到網頁的頭部下面的腳本:

<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;key=MY_API_KEY_HERE" type="text/JavaScript" language="JavaScript"></script> 

而且我有以下的JavaScript函數執行時點擊一個鏈接頁面上:顯示

alert("viewMap()"); 
var map = new GMap3(document.getElementById("map_canvas")); 
var geocoder = new GClientGeocoder(); 

var address = "1600 Amphitheatre Parkway, Mountain View"; 
alert("Calling getLatLng ..."); 
geocoder.getLatLng(address, function(point) { 
    var latitude = point.y; 
    var longitude = point.x; 

    // do something with the lat lng 
    alert("Lat:"+latitude+" - Lng:"+longitude); 
}); 

初始viewMap()警報,然後接着是「谷歌已禁止使用......」的錯誤消息。

錯誤控制檯也顯示'GMap3未定義'。

任何人都可以請幫助顯示我的方式錯誤?

回答

0

也許只是改變GMap3行:

var myOptions = {zoom: 5,mapTypeId: google.maps.MapTypeId.ROADMAP}; 
var map = new google.maps.Map(document.getElementById('map_canvas'),myOptions); 

這是一個使用navigator.geolocation代替GClientGeocoder的一個更完整的例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script> 
<style> 
#map_canvas {width:300px;height:300px;display:block;} 
</style> 
</head> 

<body> 
<div id="map_canvas"></div> 
<button onclick="begin();">Click</button> 
</body> 
<script> 
function begin(){ 
    navigator.geolocation.getCurrentPosition(loadmap,noloc); 
} 

function noloc(){ alert('Since this is a location based tool, please reload and share your location');} 

function loadmap(position){ 

    var myOptions = { 
     zoom: 5, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById('map_canvas'),myOptions); 
    var latitude=position.coords.latitude; 
    var longitude=position.coords.longitude; 
     //do something with the lat lng 
    var usrll=new google.maps.LatLng(latitude,longitude); 
    map.setCenter(usrll); 
    var usrmarker = new google.maps.Marker({position: usrll,map: map}); 

} 
</script> 
</html> 
+0

不,我剛剛補充說,仍然得到相同的結果/錯誤。 – user1496322

+0

謝謝。我將得到這與V2的工作,然後工作遷移到V3 ... – user1496322

0

幾個問題,其中最嚴重的是加載版本3 API與您的<script>標籤,然後使用版本2代碼,如GClientGeocoder。在任何一個版本中都不存在GMap3

將版本2映射轉換爲版本3並不像加載版本3 API那麼簡單。它需要從頭開始重寫(這超出了SO的範圍)。

你不說你用的是什麼引薦,但你需要在你的使用通配符明確:www.domain.com/*domain.com/*

我建議改變GMap3GMap2,並確保您加載第2版API(在相關的<script>標籤中指定您的控制檯密鑰)。然後着手重寫第3版。

+0

好吧...我做了一些改變,似乎更接近... 1)我改變加載V2的API。 2)更改我的JavaScript創建一個GMap2對象 3)確認我的引用包括通配符 4)關閉我的v3服務並啓用了v2服務 – user1496322

+0

我現在得到我的第二個提醒,它表明它試圖獲得Lat/Lng ... 然後,我收到以下錯誤對話框: Google禁止在此應用程序中使用Maps API。提供的密鑰不是有效的Google API密鑰,或者未經本網站的Google Maps JavaScript API v2授權。如果您是此應用程序的所有者,則可以在此處瞭解如何獲取有效密鑰:http://code.google.com/apis/maps/documentation/javascript/v2/introduction.html#Obtaining_Key – user1496322

+0

@ user1496322不再有人足夠的信息。需要知道:地圖的*精確*網址; *完全*您在推薦人中擁有的內容; *完全*您的'

  • 11. 圈覆蓋谷歌地圖API V3 JS
  • 12. 谷歌地圖API V3 2.0.6
  • 13. 谷歌地圖V3 API密鑰使用
  • 14. Geocomplete谷歌地圖API已棄用?
  • 15. API註冊谷歌應用程序
  • 16. GoogleMaps JS API v3不適用於iOS
  • 17. 使用MarkerPlace與谷歌地圖JS API
  • 18. 如何使用谷歌地圖API V3
  • 19. 谷歌地圖API v3不迴應
  • 20. 谷歌的API V3使用JavaScript
  • 21. 谷歌地圖API v2谷歌地圖API V3 Android版應用程序OpenStreetMap之間最好的是什麼?
  • 22. 使用谷歌地圖API v3
  • 23. 錯誤與谷歌API的Android應用程序利用MapActivity
  • 24. 如何使用谷歌建議與Java應用程序的API
  • 25. 使用谷歌地圖API與Android應用程序的步驟
  • 26. 谷歌Drive API示例應用程序「DrEdit」javascript錯誤(Angular JS?)
  • 27. 使用谷歌地圖Javascript API v3在企業移動混合應用程序
  • 28. 使用Bing Maps API的應用程序
  • 29. 使用Google Maps API的應用程序
  • 30. 問題與谷歌地圖API V3