1

在我的网站中,我有两个面板,左侧是地址,右侧是谷歌地图。我想在不刷新页面的情况下单击特定地址后加载谷歌地图。请帮我。

4

3 回答 3

0

对此处的地址进行地理编码是有关如何进行此操作的链接 https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingRequests

然后执行此 map.setMap(latLng) 其中 map 是您的全局地图对象,而 latLng 是从地理编码库获得的坐标

于 2013-10-05T12:59:38.947 回答
0

您应该通过 Javascript 实现它,算法将是这样的:

  1. 根据默认位置显示地图(例如您的城市和足够的缩放级别)
  2. 带有用于搜索和寻址的文本框的表单
  3. 单击“搜索按钮”以进行地理编码并获取该地址的纬度、经度的事件
  4. 根据地理编码服务响应通过 Javascript 重新设置地图的中心
  5. 在从地理编码服务返回的位置上添加标记。

希望这可以帮助

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 回答