【问题标题】:split not working in javascript?拆分在javascript中不起作用?
【发布时间】:2013-10-22 21:34:23
【问题描述】:

点击谷歌地图我得到了经纬度。然后我尝试拆分它,但它不起作用。
当我警告输入变量时,它显示纬度和经度。但是当我 alert(latlngStr[0]) 时,没有任何警报。

google.maps.event.addListener(map, 'click', function(e) {
placeMarker(e.latLng, map);
var input=e.latLng;alert(input);
var latlngStr = input.split(',',2);alert(latlngStr[0]);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var latlng = new google.maps.LatLng(lat, lng);
});

【问题讨论】:

  • alert(input) 给你什么?
  • 您的拆分语法似乎很好。但是您不需要使用 input.split(',',2)。可以是 input.split(',');
  • Javascript 有String.splitinput 的类型是什么? alert(typeof input)
  • e.latLng 是一个对象。它具有lat()lng() 等方法来获取 lat 和 lng 值。试试input.lat()

标签: javascript google-maps


【解决方案1】:

因此,从 Shakib 的评论中获取输入,您的代码理想情况下应如下所示

google.maps.event.addListener(map, 'click', function(e) {
placeMarker(e.latLng, map);
var input=e.latLng; alert(input);
var lat = input.lat();
var lng = input.lng();
var latlng = new google.maps.LatLng(lat, lng);
});

考虑使用 console.log() 代替 alert();

【讨论】:

  • thanks man ..it is working.但我不明白它背后的原因。因为e.latlong同时提供lat和long,所以为什么不拆分?
  • 因为它是一个对象。 String.split 适用于字符串。警报将输出任何内容。这就是为什么最好使用console.log,您可以在其中准确看到创建的变量类型是对象、数组或字符串。 :)
  • 如果解决方案对您有帮助,请不要忘记将其标记为答案 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-11
  • 2014-07-18
  • 2014-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多