我如何以编程方式或使用api获取位置的纬度,经度

时间:2010-09-01 09:22:41

标签: google-maps

是获取某个位置的纬度或经度的任何方式。如果是,那么如何。

可以使用google map api执行此操作。

2 个答案:

答案 0 :(得分:1)

浏览器中的一个简单方法是将地图置于您想要的位置,然后将以下javascript粘贴到地址栏中:

javascript:void(prompt('',gApplication.getMap().getCenter())); 

答案 1 :(得分:1)

以下是如何使用JavaScript为Open Street Maps或Google Maps执行请求的示例。

// GOOGLE MAPS API v3
// API: https://developers.google.com/maps/documentation/geocoding/#GeocodingRequests
// Example JSON request: http://maps.googleapis.com/maps/api/geocode/json?address=1111%20W.%2035rd%20street,%20Chicago,%20IL&sensor=true
function GoogleURI(address, type){
  var uri = "http://maps.googleapis.com/maps/api/geocode/";
  //address = FormatAddress(address);
  if(type == "xml"){
    uri = uri + type + "?" + "address=" + address + "%26sensor=false";
  } else { // default to json
    uri = uri + "json" + "?" + "address=" + address + "%26sensor=false";
  }
  return uri; 
}

// OPEN STREET MAP API 0.6
// API: http://wiki.openstreetmap.org/wiki/Nominatim#Example
// Example XML Request: http://nominatim.openstreetmap.org/search?q=%201111%20W.%2035th%20Street%2C%20Chicago%2C%20IL%2060609&format=xml&addressdetails=1
// NOTE &'s and spaces dont pass easily to php and then to nominatim.openstreetmap.org
// WARNING: OPEN STREET MAPS SOMETIMES DOESNT NEED THE STATE AND ZIP CODE and in fact will error out... ;)
function OpenURI(address, type){
  var uri = "http://nominatim.openstreetmap.org/search?q=";
  var format = "%26format=" + type; 
  var details = "%26addressdetails=1";
  //address = FormatAddress(address);
  // NOTE: &'s dont pass good to php file_get_contents($uri) dont use "&polygon=1&addressdetails=1";
  if(type == "xml"){
    uri = uri + address + "%26format=" + type + "%26addressdetails=1";
  } else { // default to json
    uri = uri + address + "%26format=" + "json" + "%26addressdetails=1";
  } 
  return uri; 
}

然后,您可以从上述方法发送返回uri并在PHP中执行GET请求。