我为MapQuest API生成了免费密钥(每月15,000次免费交易)。我只会使用Directions API而不是其他任何东西。重要的是我只想在指定的GPS坐标上使用它 - 所以我不需要地理编码功能。
当我向MapQuest webService /optimizedroute
发送请求时,他们将此收费作为1方向交易(这是正常的),但他们也计算N地理编码交易(N是路线请求中的点数)。 / p>
我有点困惑,因为我不提供地址字符串而是提供GPS坐标 - 我不知道为什么他们要为地理编码收取交易费用。
这里有我的示例请求(他们计算这两个变体的地理编码 - 无论我使用字符串GPS坐标还是JSON LatLng对象):
1
curl -X POST -H "Content-Type: application/json" -v -d '{"locations": [{"latLng":{"lat": 51.129044, "lng": 17.045847}}, {"latLng":{"lat": 51.107062, "lng": 17.032286}}, {"latLng":{"lat": 51.053140, "lng": 16.974779}}, {"latLng":{"lat": 51.077520, "lng": 17.065245}}, {"latLng":{"lat": 51.141539, "lng": 17.087733}}, {"latLng":{"lat": 51.102643, "lng": 17.087389}}, {"latLng":{"lat": 51.122903, "lng": 17.030741}}, {"latLng":{"lat": 51.129044, "lng": 17.045847}}], "routeType": "shortest", "options": {"unit": "k", "narrativeType": "none", "fullShape": true}}' http://www.mapquestapi.com/directions/v2/optimizedroute?key=KEY
2
curl -X POST -H "Content-Type: application/json" -v -d '{"locations": ["51.129044,17.045847", "51.107062,17.032286", "51.053140,16.974779", "51.077520,17.065245", "51.141539,17.087733", "51.102643,17.087389", "51.122903,17.030741, "51.129044,17.045847"], "routeType": "shortest", "options": {"unit": "k", "narrativeType": "none", "fullShape": true}}' http://www.mapquestapi.com/directions/v2/optimizedroute?key=KEY
有没有人知道他们为什么要向我收取我不使用的地理编码服务?或者您可能知道我应该如何使用他们的Directions API来向我收取地理编码费用?
问候。
答案 0 :(得分:3)
默认情况下,当您将latlng传递给路由API时,它将尝试反向对latlng点进行地理编码,并为路径中的每个点返回其他地址数据。您可以在json options参数中将doReverseGeocode设置为false参数,以阻止这种情况发生。
试试这个:
curl -X POST -H“Content-Type:application / json”-v -d'{“locations”:[“51.129044,17.045847”,“51.107062,17.032286”,“51.053140,16.974779”,“51.077520, 17.065245“,”51.141539,17.087733“,”51.102643,17.087389“,”51.122903,17.030741,“51.129044,17.045847”],“routeType”:“shortest”,“options”:{“doReverseGeocode”:false ,“unit”:“k”,“narrativeType”:“none”,“fullShape”:true}}'http://www.mapquestapi.com/directions/v2/optimizedroute?key=KEY