Google Maps API是一個JavaScript庫。然而,Google通過JavaScript提供了client-side API的地理編碼服務,並通過server-side web service。
這是一個關於如何使用JavaScript的地理編碼器的例子:
function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
geocoder = new GClientGeocoder();
geocoder.getLatLng(
"London, UK",
function(point) {
if (point) {
map.setCenter(point, 13);
var marker = new GMarker(point);
map.addOverlay(marker);
}
}
);
}
}
下面是展示如何使用PHP來獲得服務器端的地址的緯度和經度的例子:
$url = 'http://maps.google.com/maps/geo?q=London,+UK&output=csv&sensor=false';
$data = @file_get_contents($url);
$result = explode(",", $data);
echo $result[0]; // status code
echo $result[1]; // accuracy
echo $result[2]; // latitude
echo $result[3]; // longitude
您正確理解了免費的地理編碼配額。服務器端地理編碼限於每臺服務器每天15k個請求,而客戶端地理編碼僅限於每臺客戶端每天15k個請求。您需要Google Maps API Premier來增加這些限制。
所以它更好地要求JavaScript的原因那麼它將是每個用戶15000? – ajsie 2010-02-19 18:26:54
有時您可能需要在服務器上進行地理編碼,例如,如果您的服務器正在從跟蹤設備接收GPS座標。但是如果你可以使用JavaScript,你的限制要大得多。 – 2010-02-19 19:37:08