Google map geocode - error_message:“无效请求。无效'latlng'参数。”

时间:2018-01-29 09:09:14

标签: javascript google-maps

我想通过发送“latlng”参数来请求城市名称go google-maps如下:

google.maps.event.addListener(map, 'click', function(event) {

  placeMarker(event.latLng);
  var clicklat = parseFloat(event.latLng.lat());
  var clicklng = parseFloat(event.latLng.lng());
  var latlng = {lat: clicklat, lng: clicklng}; 
  console.log(latlng);

  axios.get('https://maps.googleapis.com/maps/api/geocode/json',{
    params:{
      latlng: latlng,   
      language: 'de',
      key:'your_api_key'

    }
  })

但遗憾的是我收到了这个错误:

{error_message: "Invalid request. Invalid 'latlng' parameter.", results: [], status: "INVALID_REQUEST"}
error_message
:
"Invalid request. Invalid 'latlng' parameter."
results
:
[]
status
:
"INVALID_REQUEST"

有人可以向我解释一下吗? - 我是初学者。

3 个答案:

答案 0 :(得分:0)

LatLng是一个谷歌地图对象,你可以像你想要的那样定义它,你必须尊重正确的语法:

var locat = new google.maps.LatLng(lat, lng);

答案 1 :(得分:0)

你已经有了事件中的latLng,所以只需在请求中使用它:

google.maps.event.addListener(map, 'click', function(event) {

placeMarker(event.latLng);
//var clicklat = parseFloat(event.latLng.lat());
//var clicklng = parseFloat(event.latLng.lng());
//var latlng = {lat: clicklat, lng: clicklng}; 
//console.log(latlng);

axios.get('https://maps.googleapis.com/maps/api/geocode/json',{
  params:{
    latlng: event.latLng,   
    language: 'de',
    key:'your_api_key'

  }
})

答案 2 :(得分:0)

这就是我解决问题的方式

since

基本上,这些必须遵循此顺序

  • API密钥
  • 纬度
  • 经度