2012-04-24 35 views
1

我們試圖根據緯度經度獲取用戶的信息。Google地圖給出JSONP錯誤地理意想不到的標記:或無效標籤

我們的代碼一直工作正常,直到幾個星期前我們開始出現這個錯誤。

這裏是我們的代碼:

var reverse_geo_url = "http://maps.google.com/maps/geo?q=" + lat + "," + lng + "&key=[key]&sensor=false" 
console.log("Calling " + reverse_geo_url); 
new $.ajax(reverse_geo_url, { 
    dataType: "jsonp", 
    timeout: 5000, 
    success: function (data) { 
     // yay 
    } 
}); 

問題是,我們一下子變得越來越

Uncaught SyntaxError: Unexpected token : 

這裏是從谷歌的服務器實例響應(當我直接到URL)

{ 
    "name": "33.0024912,-88.4218782", 
    "Status": { 
    "code": 200, 
    "request": "geocode" 
    }, 
    "Placemark": [ { 
    "id": "p1", 
    "address": "Paulette Rd, Macon, MS 39341, USA", 
    "AddressDetails": { 
    "Accuracy" : 6, 
    "Country" : { 
     "AdministrativeArea" : { 
     "AdministrativeAreaName" : "MS", 
     "Locality" : { 
      "LocalityName" : "Macon", 
      "PostalCode" : { 
       "PostalCodeNumber" : "39341" 
      }, 
      "Thoroughfare" : { 
       "ThoroughfareName" : "Paulette Rd" 
      } 
     } 
     }, 
     "CountryName" : "USA", 
     "CountryNameCode" : "US" 
    } 
}, 
    "ExtendedData": { 
     "LatLonBox": { 
     "north": 32.9994289, 
     "south": 32.9891822, 
     "east": -88.4094885, 
     "west": -88.4393238 
     } 
    }, 
    "Point": { 
     "coordinates": [ -88.4238788, 32.9952338, 0 ] 
    } 
    } ] 
} 

https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingResponses

訪問地理編碼服務是異步的,因爲Google地圖 API需要調用外部服務器。因此, 需要傳遞迴調方法,以在完成 請求時執行。這個回調方法處理結果。請注意, 地理編碼器可能會返回多個結果。

根據文檔回調應該支持。 JQuery添加了回調頭,因此我不明白Google爲什麼不尊重它。

*編輯:作爲參考,我的應用程序試圖調用的URL是http://maps.google.com/maps/geo?q=33.8024912,-84.4218782 &鍵= [我這裏的關鍵] &傳感器=假&回調= jQuery16409036452900618315_1335293866369 & _ = 1335293866469 這是谷歌的一面嗎?或者在我們這邊?再一次,這個代碼用來完美工作。

我在StackOverFlow上看到的其他帖子,人們說,當這個錯誤顯示在意味着服務器不支持JSONP ...什麼讓我感到困惑的是,這曾經工作...沒有谷歌改變他們的API?

+0

jQuery解析後,ajax調用的URL是什麼? – 2012-04-24 18:45:06

+0

http://maps.google.com/maps/geo?q=33.8024912,-84.4218782&key= [my key here]&sensor = false&callback = jQuery16409036452900618315_1335293866369&_ = 1335293866469 – K2xL 2012-04-24 18:58:22

+1

您是否檢查過使用配額和結算信息?文檔中有一個註釋:「*注意:Maps API使用限制將從2012年初開始實施。」 – Christian 2012-04-24 19:05:48

回答

0

通過它似乎你不需要註冊任何更多的使用這個API的文檔閱讀,

我用這個成功:

var url = string.Format("http://maps.google.com/maps/geo?q={0}&output=xml", encodedPostCode); 

希望這會有幫助