0

我尝试在主页上使用Geolocation和。Geocoding因此,当页面加载时,用户的位置应该显示在地图上。所以我找到了这段代码来获取用户的当前位置:

<script type="text/javascript"src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map = null;
            function showlocation() {
               // One-shot position request.
                navigator.geolocation.getCurrentPosition(callback);
            }

      function callback(position) {

        var lat = position.coords.latitude;
        var lon = position.coords.longitude;

             document.getElementById('latitude').innerHTML = lat;
         document.getElementById('longitude').innerHTML = lon;

        var latLong = new google.maps.LatLng(lat, lon);

                var marker = new google.maps.Marker({
                    position: latLong
                });      

                marker.setMap(map);
        map.setZoom(8);
        map.setCenter(marker.getPosition());
      }

      google.maps.event.addDomListener(window, 'load', initMap);
      function initMap() {
        var mapOptions = {
          center: new google.maps.LatLng(0, 0),
          zoom: 1,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);

      }
</script>

<div id="map-canvas"></div>

这工作正常。但我现在想添加一个用户可以更改地址的文本框(例如,如果它不正确或发生错误)。我发现Geocoding并找到了这篇文章: https ://developers.google.com/maps/documentation/javascript/examples/geocoding-simple

现在Geolocation不再起作用了。所以我搜索了一个与他们一起工作的解决方案。这是我现在的问题:

如何同时使用GeolocationGeocode

希望可以有人帮帮我

4

1 回答 1

0
google.maps.event.addListener(marker, 'click', (function(marker, i) {
                    return function() {
                        var name = markers[i].getAttribute("name");
                        var address = markers[i].getAttribute("address");
                        var html = "<b>" + name + "</b> <br/>" + address;
                        infowindow.setContent(html);
                        infowindow.open(map, marker, html);
                        // infowindow.setContent(html);
                        // infowindow.open(map, marker);
                    }
                })(marker, i));
于 2013-11-14T07:31:20.250 回答