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')あなたがロードマップを定義しているので、Whiiiiiiiiichはちょっと期待されています...

于 2012-05-30T20:07:53.160 に答える