在我的网站中,我有两个面板,左侧是地址,右侧是谷歌地图。我想在不刷新页面的情况下单击特定地址后加载谷歌地图。请帮我。
问问题
420 次
3 回答
0
对此处的地址进行地理编码是有关如何进行此操作的链接 https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingRequests
然后执行此 map.setMap(latLng) 其中 map 是您的全局地图对象,而 latLng 是从地理编码库获得的坐标
于 2013-10-05T12:59:38.947 回答
0
您应该通过 Javascript 实现它,算法将是这样的:
- 根据默认位置显示地图(例如您的城市和足够的缩放级别)
- 带有用于搜索和寻址的文本框的表单
- 单击“搜索按钮”以进行地理编码并获取该地址的纬度、经度的事件
- 根据地理编码服务响应通过 Javascript 重新设置地图的中心
- 在从地理编码服务返回的位置上添加标记。
希望这可以帮助
PD 您现在如何使用面板查询地图?
于 2013-10-03T01:54:53.677 回答
-1
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var mapOptions = {zoom: 8,center: latlng
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}
function codeAddress() {
var address = document.getElementById('address').value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
}
else
{
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<input id="address" type="textbox" value="New Delhi, India">
<input type="button" value="Geocode" onclick="codeAddress()">
于 2013-12-18T06:34:42.227 回答