谷歌地图v3:地图未显示

时间:2012-05-30 19:57:10

标签: javascript html google-maps google-maps-api-3

您可以在[Google Maps API]中帮我解决这个问题吗? 我不知道为什么地图没有显示。

Here's the fiddle.

使用Javascript:

//Map Options
var roadmap = {
  infoWindow: new google.maps.InfoWindow(),
  options: {
    map: {
      center: new google.maps.LatLng(34.02238, -118.293338),
      zoom: 15,
      mapTypeId: 'roadmap'
    },
    marker: {
      position: roadmap.options.center,
      title: "Hello",
      icon: 'http://maps.google.com/mapfiles/ms/micons/blue-dot.png',
      shadow: 'http://maps.google.com/mapfiles/ms/micons/msmarker.shadow.png'
    }
  }
};

//Street view Options
var StreetView = {
  options: {
    position: roadmap.options.map.center,
    zoom: 1
  }
};



//Functions
function bindInfoWindow(marker, map, infoWindow, html) {
  google.maps.event.addListener(marker, 'click', function() {
    infoWindow.setContent(html);
    infoWindow.open(map, marker);
    infoWindow.getContent();
    marker.openInfoWindowTabsHtml(infoTabs);
  });
}


function googleMaps() {
  //Road map
  roadmap.map = new google.maps.Map(document.getElementById("map"), roadmap.options.map);


  //Road map's Marker
  roadmap.options.marker.map = roadmap.map;
  roadmap.marker = new google.maps.Marker(roadmap.options.marker);


  //Street view map
  StreetView.map = new google.maps.StreetViewPanorama(document.getElementById("map_StreetView"), StreetView.options);


  //Bind onClick to marker & infoWindow
  bindInfoWindow(roadmap.marker, roadmap.map, roadmap.infoWindow, roadmap.options.marker.title);
} //end of load()


/*Load | Call googleMaps after document is loaded*/
google.maps.event.addDomListener(window, 'load', function() {
  googleMaps();
  //... (add more code here)
});

HTML:

<!-- START: Google Maps API -->
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="this_map.js"></script>
<!-- __END: Google Maps API -->

<div id="map-container" >
  <div id="map_StreetView" style="width: 350px; height: 250px"></div><br/>
  <div id="map" style="width: 350px; height: 250px"></div>
</div>
任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:3)

错误在于:

position: roadmap.options.center

您无法引用刚刚创建的对象。

我把它改为:

position: new google.maps.LatLng( 34.02238, -118.293338 )

并且有效。

这是你的工作小提琴:http://jsfiddle.net/sGHqa/

答案 1 :(得分:1)

TypeError: 'undefined' is not an object (evaluating 'roadmap.options')由于您正在定义路线图,所以可以预期Whiiiiiiiiich ......