如何显示带有街道,城市和国家/地区的手机的当前位置
How to show current location of mobile with street, city and country
以下是我为获取手机的当前位置而编写的代码。它显示手机城市和国家/地区的当前位置。但是我需要显示街道地址位置。 请尽快告知。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width;height=device-height; user-scalable=no" />
<meta http-equiv="Content-type" content="text/html;charset=utf-8">
<title>PhoneGap Reverse Geolocation Lookup</title>
<script type="text/javascript" src="cordova-1.7.0.js"></script>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
var geocoder;
$(document).ready(function() {
geocoder = new google.maps.Geocoder();
$('#button-get-reverse-lookup').click(function(){
navigator.geolocation.getCurrentPosition(onGetCurrentPositionSuccess, onGetCurrentPositionError);
});
});
var onGetCurrentPositionSuccess = function(position) {
console.log("lat: " + position.coords.latitude);
console.log("long: " + position.coords.longitude);
var lat = parseFloat(position.coords.latitude);
var lng = parseFloat(position.coords.longitude);
// paris, france - uncomment to test
//var lat = parseFloat(48.850258);
//var lng = parseFloat(2.351074);
// tiburon, california
//var lat = parseFloat(37.872685);
//var lng = parseFloat(-122.45224);
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({'latLng': latlng}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
if (results[1])
{
var reverse_geo = results[1];
if (reverse_geo.address_components[0])
{
alert(reverse_geo.address_components[4].long_name+"," + reverse_geo.address_components[3].long_name+"," + reverse_geo.address_components[2].long_name+"," + reverse_geo.address_components[0].long_name);
//text = text + "0: " + reverse_geo.address_components[0].long_name + "<br />"1: " + reverse_geo.address_components[1].long_name + "<br />"";
}
}
}
else
{
alert("No hay informaci�n de Reverse Geocoding.");
}
});
}
var onGetCurrentPositionError = function(error) {
console.log("Couldn't get geo coords from device");
}
</script>
</head>
<body>
<h1>Reverse Geolocation Lookup</h1>
<button id="button-get-reverse-lookup">Get Reverse Lookup</button>
</body>
</html>
根据Google网站上的文档,您需要遍历所有地址组件,查看类型并将它们与要提取的内容进行比较。
street_number = 街道号码路线 = 街道名称地点 = 城市administrative_area_level_1 = 州或省国家 = 国家
无法保证地址组件的交付顺序,因此您需要检查它们。
相关文章:
- Possibile使用Manifest v2下的HTML5地理位置API将lat/long转换为国家/地区
- 无法使用国家/地区选择中的状态动态填充下拉列表
- 在Chrome扩展中,我如何准确地检索用户'的地区/地区/国家
- 使用自动完成服务()将 Google 地图地点限制为特定国家/地区
- Magento:根据所选国家/地区隐藏/显示输入字段
- 仅在引导程序表单助手国家/地区选取器中显示国家/地区子集文本
- 如何从特定国家/地区重定向用户
- 根据国家/地区更改货币
- 如何将 gmap 搜索自动完成功能限制为有限的国家/地区
- 带有标志和文本的国家/地区建议列表
- 选择国家/地区时更改颜色
- 相对于选定的地区中心缩放SVG国家/地区地图
- Three.js地球仪-使国家/地区可点击
- 传递国家名称时获取所有州/地区/城市
- javascript从所选国家/地区值中选择城市
- 如何获得用户'的国家/地区,并转发到URL
- 下拉菜单,用于选择国家/地区,然后选择州
- 如果在JavaScript w/HTML中选择了特定国家/地区,如何要求邮政编码为数字
- 我如何限制谷歌地图API's的搜索框将搜索到一个国家/地区
- 以JSON格式Shopify地区(国家)