2013-04-09 57 views
0

我有我所分配的ID的“地址”到我的页面上的元素:检索地址,并用它创建谷歌地图

<p id="address">1600 Pennsylvania Ave NW, Washington, DC 20500, United States</p> 

现在我想从它创建一个谷歌地图使用以下内容:

<script type="text/javascript"> 
    var gecoder, map; 
    var address = document.getElementById('address').innerHTML; 
    function googlemap(address) { 
    geocoder = new google.maps.Geocoder(); 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
     var myOptions = { 
     zoom: 8, 
     center: results[0].geometry.location, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

     var marker = new google.maps.Marker({ 
      map: map, 
      position: results[0].geometry.location 
     }); 
     } 
    }); 
    } 
</script> 

但是,这不会返回任何内容。我得到一个空白。任何想法我做错了什么?

回答

0

这就是我所做的,它的工作原理。 JavaScript中的头:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false" /> 
<script type="text/javascript"> 
    var geocoder, map; 

    function googlemap() { 
     var address = document.getElementById('address').innerHTML; 

     geocoder = new google.maps.Geocoder(); 
     geocoder.geocode({ 'address': address }, function(results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       var myPosition = results[0].geometry.location; 
       alert(myPosition); 

       var myOptions = { 
        zoom: 8, 
        center: myPosition, 
        mapTypeId: google.maps.MapTypeId.ROADMAP 
       } 
       map = new google.maps.Map(document.getElementById('map'), myOptions); 

       var marker = new google.maps.Marker({ 
        map: map, 
        position: myPosition 
       }); 
      } else { 
       alert('Geocode was not successful for the following reason: ' + status); 
      } 
     }); 
    } 
</script> 

身体:

<body onload="googlemap()"> 
<form id="form1" runat="server"> 
<div> 
    <p id="address">1600 Pennsylvania Ave NW, Washington, DC 20500, United States</p> 
    <div id="map" style="overflow:hidden; width:400px; height:400px"></div> 
</div> 
</form>