html5 gelocation方法position.address.city是否仅适用于Firefox

时间:2010-08-25 15:52:55

标签: javascript firefox html5 geolocation

城市方法仅适用于Firefox吗?例如,如果我想打印用户的城市:

  if (navigator.geolocation)
  {
    navigator.geolocation.getCurrentPosition(function(location) {
      document.write(location.address.city);
    });
  }

如果是这样,找到用户城市的最佳方式是什么?拿lat和long并将其插入google的位置api?

3 个答案:

答案 0 :(得分:2)

是的,location.address.city仅适用于Firefox。我刚刚确认Safari或Chrome都不支持地址属性 - 都返回'undefined'。

您建议通过将lat / long插入Google's Geocoding API来检索用户的城市应该是一个可行的解决方案。

答案 1 :(得分:0)

您可以使用此代码:

var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var geocoder = new google.maps.Geocoder()
geocoder.geocode({location:latlng},function(result){
                    document.write(resul.address_components.long_name)
});

有关详细信息,请查看the reference at google code

答案 2 :(得分:-3)

不,它适用于all major browsers

查看here的示例,它似乎做了您的建议

var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

另外,一个简单的谷歌搜索会在〜15秒内给你相同的信息:)