【发布时间】:2014-11-08 10:10:16
【问题描述】:
在论坛上搜索了几天,我仍然无法理解它......
我能在这个网站上找到的只是从标记中获取完整格式地址的选项.. (例如:228 Barbary Coast Trail, San Francisco, California 94102, United States)
我正在开发一个只需要
的应用程序- 城市或村庄名称
- 州/省或地区名称
- 国家名称
(不需要其他东西,因为其余的都是通过纬度/经度坐标运行的)。
登录时我希望他们能够
- 通过谷歌地图上的标记设置坐标 (onclick 并且只有一个标记,第二次单击标记会删除第一个标记,不确定我是否会使用传感器......)
在 Lat/Lon 和 city/state/Country 表格的隐藏文本字段中更新的标记值
一切正常,但我无法让城市名称等出现在文本框中...(在此示例中取消隐藏文本框)
这是我目前得到的代码...
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#map_canvas {height:600px;width:800px}
</style>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"> </script>
<script type="text/javascript">
var map;
var markersArray = [];
function initMap()
{
var latlng = new google.maps.LatLng(48.850258199721495, 2.373046875);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
// add a click event handler to the map object
google.maps.event.addListener(map, "click", function(event)
{
// place a marker
placeMarker(event.latLng);
// display the lat/lng in your form's lat/lng fields
document.getElementById("latFld").value = event.latLng.lat();
document.getElementById("lngFld").value = event.latLng.lng();
});
}
function placeMarker(location) {
// first remove all markers if there are any
deleteOverlays();
var marker = new google.maps.Marker({
position: location,
map: map
});
// add marker in markers array
markersArray.push(marker);
//map.setCenter(location);
}
// Deletes all markers in the array by removing references to them
function deleteOverlays() {
if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
}
</script>
</head>
<body onload="initMap()">
<div id="map_canvas"></div>
<input type="text" id="latFld">
<input type="text" id="lngFld">
<input type="text" id="City">
<input type="text" id="Area">
</body>
</html>
应该很容易,但是......“我想我在这个问题上扭曲了我的大脑......”
【问题讨论】:
-
在这里你可以找到Reverse Geocoding docs
-
这仅解释了如何获取完整地址,并且在您只需要城市/州/国家/地区时不是很有帮助......对不起:-(上面是一个工作示例,但它错过了这个功能....
-
谢谢!使用 json 将值放入数组并再次拆分...然后提取结果!
标签: javascript google-maps google-maps-api-3