- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这段代码,用于填充表单上的纬度和经度的两个文本输入。我想知道是否有办法检索城市、街道和邮政编码,以便我也可以使用它们填充到表单中?
google.maps.event.addListener(marker, 'dragend', function(marker){
var latLng = marker.latLng;
$latitude.value = latLng.lat();
$longitude.value = latLng.lng();
});
示例:
$zipcode.value = latLng.postal_code();
$street.value = latLng.street_address();
$city.value = latLng.city();
这是我的完整代码:
function selectState(state_id){
if(state_id!="-1"){
loadData('city',state_id);
var e = document.getElementById("state");
var stateloc = e.options[e.selectedIndex].value;
var address = state_id + stateloc;
var $latitude = document.getElementById('latitude');
var $longitude = document.getElementById('longitude');
var latitude = 73.00636021320537;
var longitude = -23.46687316894531;
var zoom = 10;
geocoder = new google.maps.Geocoder();
var LatLng = new google.maps.LatLng(latitude, longitude);
var mapOptions = {
zoom: zoom,
center: LatLng,
panControl: false,
zoomControl: true,
scaleControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById('map'),mapOptions);
if (geocoder) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
title: 'Drag Me!',
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function(marker){
var latLng = marker.latLng;
$latitude.value = latLng.lat();
$longitude.value = latLng.lng();
});
} else {
alert("No results found");
}
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
}else{$("#city_dropdown").html("<option value='-1'>Select city</option>");
}
}
最佳答案
您面临的问题最简单的解决方法是调用反向地理编码器,该编码器位于
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false
一个非常简单的 php
脚本可能如下所示:
<?php
$value=json_decode(file_get_contents("https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false"));
echo $value->results[0]->formatted_address;
?>
这会产生输出
277 Bedford Avenue, Brooklyn, NY 11211, USA
我建议(根据您的用户名)您从“保持简单”开始 - 从页面中删除所有代码,除了需要经度/纬度输入并调用上述代码的代码之外。向自己证明您可以重新创建此输出(除了格式化地址之外,还有用于数字、街道等的单独字段 - 请参阅返回的完整结构)。然后添加进一步的复杂性( map 、图钉、下拉菜单……)。
使用上面的示例,
var latitude = 73.00636021320537;
var longitude = -23.46687316894531;
返回的地址是
Greenland
我想这就是当你将一根大头针插在荒野中央时会发生的情况:
UPDATE 如果您只想使用 Javascript 来执行此操作,我们强烈建议您使用 jQuery 来获取 JSON 解析功能。示例脚本(加载页面后加载与原始示例相同的地址 - 关键是可以用 AJAX 调用替换的 httpGet
函数,以及 jQuery.parseJSON()
调用有助于将响应转化为可以从中提取有用信息的内容:
<html>
<script src='./js/jquery-1.11.0.min.js'></script>
<script>
function ready()
{
var r = httpGet("https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false");
document.write(getAddress(r));
}
function httpGet(theUrl)
{
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}
function getAddress(response)
{
var obj = jQuery.parseJSON(response);
return obj.results[0].formatted_address;
}
</script>
<body onload="ready()">
</body>
</html>
在工作中查看此内容 http://www.floris.us/SO/geocode.html
关于javascript - 如何返回 google map 标记的城市、街道和邮政编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22138790/
我正在尝试使用 html5 创建一个世界,或者更确切地说以第一人称视角创建一条街道,而不使用 WebGL。 不幸的是,我找不到任何可以使用的引擎。有谁知道可以做到这一点的引擎,还是我必须自己编写引擎?
在我的 Android 应用程序中,我包含了谷歌地图。现在我想获取有关您周围地区的信息。例如,你是在公园/森林/海滩……所以我基本上想要一个用“水”回答输入坐标 53°33'40.9"N 10°00'
在 9535 上发出的 HERE 自动完成 API 请求返回 5 个结果,这些结果都与结果类型 street 匹配,而不是像 Google 那样匹配 postalCode默认情况下的 map 。例如
我正在考虑一个项目,我需要标题中描述的信息。 Google Maps API 是否提供此类信息,或者有人知道如何获取这些信息吗? 项目将使用 PHP、HTML 和 Javascript 完成。 最佳答
如果地址可以由子元素组成:Street、City、State、PostalCode...您如何允许此 XML: Somestreet zip
有没有办法使用 Google Maps API V3 突出显示指定的道路或街道? 这是我想要获取的示例(来自在谷歌中搜索某个地方的图像):example 样式化 map 不能满足我的要求,因为它适用于
我想创建一个应用程序来跟踪安装我的应用程序的用户,因此我有以下用于跟踪的代码,该代码运行良好,但它只会返回城市名称。但我需要完整的详细信息,例如街道名称、城市,等等。 public class
我正在创建一项服务,用户可以在其中访问世界任何地方的地址。首先,我认为 Google Places API 会很高兴,但看看这张图片(下图),问题是如何以正确的顺序过滤掉国家、城镇、街道地址。首先,我
如何将 ESRI 街道 map ( https://leaflet-extras.github.io/leaflet-providers/preview/#filter=Esri.WorldStree
一个简短的问题,希望有人能解答: 如何使用 Here Android SDK Premium 导航通过 DIR_NO_CARS、NO_THROUGH_TRAFFIC、DIR_NO_TRUCKS 属性的
我正在开发 Google 地点自动完成服务,我需要过滤特定于国家/地区的地点! 引用网站:-- https://www.grubhub.com (特定国家/地区、城邦-邮政编码) 我找到了一个例子:-
我有两个 PCollections:一个从 Pub/Sub 中提取信息,另一个从 CSV 文件中提取数据。在每个管道中进行一些不同的转换之后,我想将两者合并到它们共享的公共(public) key “
DSMOD 似乎没有能力更新用户的这部分 AD 属性(街道、邮政信箱、城市、州、邮政编码)。有没有我可以从 powershell 或 cmd 运行的命令行替代方案? 动机:我正在尝试用特定的用户信息填
DSMOD 似乎没有能力更新用户的这部分 AD 属性(街道、邮政信箱、城市、州、邮政编码)。有没有我可以从 powershell 或 cmd 运行的命令行替代方案? 动机:我正在尝试用特定的用户信息填
我想在 OSM 中的两点之间画一条线,但我找不到任何可以帮助我的东西。像 googlemap 中的 Polyline 之类的东西。 public class MainActivity extends
我正在使用 PKPaymentAuthorizationViewController 及其委托(delegate)方法集成 Apple Pay。当用户更改地址时,将触发以下委托(delegate)方法
我需要使用 Xamarin Forms/Android 的 Intent 以编程方式打开 Android 联系人应用程序。当“添加新联系人” Activity/屏幕出现时,我想用以下字段预先填充它:
我是一名优秀的程序员,十分优秀!