0

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

这是小提琴。

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>
对此的任何帮助将不胜感激。

4

2 回答 2

3

错误在这里:

position: roadmap.options.center

您不能引用您刚刚创建的对象。

我将其更改为:

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

它奏效了。

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

于 2012-05-30T20:09:29.503 回答
1

TypeError: 'undefined' is not an object (evaluating 'roadmap.options')Whiiiiiiiiiich 是一种预期,因为您正在定义路线图......

于 2012-05-30T20:07:53.160 回答