如何将纬度-经度传递到谷歌地图JavaScript API v3方向服务



我想在我的Java应用程序中使用Google Maps JavaScript API v3。为此,我使用创建HttpGet对象http://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=蒙特利尔&sensor=falseurl。

我得到了正确的响应,但我不想通过站点名称,而是想通过站点的经纬度

文档可在此处中找到

我如何将经纬度传递给这项服务?

编辑:

当我将URL指定为-时http://maps.googleapis.com/maps/api/directions/json?origin=Jackson+Av&destination=Prospect+Av&sensor=false我得到了正确的响应,但当我将URL作为-时

http://maps.googleapis.com/maps/api/directions/json?origin=40.81649,73.907807&目的地=40.819585,-73.90177&传感器=错误我得到的响应为-零结果

您可以创建如下的url,

double lat1 = 40.74560;
double lon1 = -73.94622000000001;
double lat2 = 46.59122000000001;
double lon2 = -112.004230;
String url = "http://maps.googleapis.com/maps/api/directions/json?";
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("origin", lat1 + "," + lon1));
params.add(new BasicNameValuePair("destination", lat2 + "," + lon2));
params.add(new BasicNameValuePair("sensor", "false"));
String paramString = URLEncodedUtils.format(params, "utf-8");
url += paramString;
HttpGet get = new HttpGet(url);

请检查您是否提供了正确的地理坐标

到web服务文档的链接

只需使用用逗号分隔的纬度、经度的数字:例如51,0。确保没有空格。

http://maps.googleapis.com/maps/api/directions/json?origin=51,0&目的地=51.5,-0.1&传感器=错误

var request = { 
origin: "33.661565,73.041330",
destination: "33.662502,73.044061",
travelMode: google.maps.TravelMode.DRIVING
};

这很好

v3 API的文档显示了google.maps.LatLng或字符串。对于地理位置,创建并传入google.maps.LatLng;对于地址,传入一个字符串。

origin:      LatLng | String,
destination: LatLng | String,

在参考中

destination LatLng|string   Location of destination. This can be specified as either a string to be geocoded or a LatLng. Required.
origin      LatLng|string   Location of origin. This can be specified as either a string to be geocoded or a LatLng. Required.

对于航路点:

location    LatLng|string   Waypoint location. Can be an address string or LatLng. Optional.

最新更新