0

現在、単純なコロプレス マップをマップに実装しようとしています (Google マップ API v3 を使用)。後で xml または json を使用してデータを取得しますが、現時点ではハードコードされたデータを使用しようとしています。V2 API の Google マップでは機能しましたが、v3 では機能しませんでした。何が間違っているのかわかりません。私のコードは以下の通りです:

    <script type="text/javascript">
    var geocoder;
    var map;
    function initialize() {

geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(51.500152, -0.126236);
var myOptions = {
  zoom: 8,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.TERRAIN
}
map = new google.maps.Map(document.getElementById("map"), myOptions);


  var cartographer = Cartographer( map, { colorize:"#000", colorizeAlpha:.3 } );
cartographer.choropleth([
  {region:"US-MN",val:6},
  {region:"US-IA",val:10},
  {region:"US-WI",val:8},
  {region:"US-SD",val:7},
  {region:"US-ND",val:9},
  {region:"US-MI",val:12}
], { colorScheme:"BuPu"});

    }

     function codeAddress() {
var address = document.getElementById("address").value;
geocoder.geocode( { 'address': address}, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    map.setCenter(results[0].geometry.location);
    var marker = new google.maps.Marker({
        map: map, 
        position: results[0].geometry.location
    });
  } else {
    alert("Geocode was not successful for the following reason: " + status);
  }
});
    }

    </script>
    </head>
    <body onload="initialize()">
    <input id="address" type="textbox" value="London">
    <input type="button" value="Search" onclick="codeAddress()">
<div id="map" style="height:100%;top:0px"></div>
   </body>

私が使用できる別の方法を知っている場合 (ただし、Google マップ API v3 をバックグラウンドとして使用する場合)、その方法を調べて試してみたいと思いますのでお知らせください。

私はすでにラファエルと地図作成ライブラリをコードにインポートしています。

ありがとう

添加:

div とともに使用されるスタイル ive は次のとおりです。

   <style type="text/css">
  html { height: 100% }
  body { height: 100%; margin: 0; padding: 0 }
  #map { height: 100% }
</style>

それに変更を加えても、マップが表示されません:(

4

2 に答える 2

0

マップを含むのheightプロパティをに設定していることに気付きました。特定の高さを使用してみてください。開発者ガイドの「マップDOM要素」セクションで説明したように、マップがより大きな内にある場合は、マップまたはコンテナー全体を含むための特定のサイズ設定スタイルルールを提供する必要があります。DIV100%DIVDIVDIVDIV

CSSを使用して良い結果width: 100%が得られましたが、を使用すると問題が発生しましたheight: 100%

于 2012-07-05T18:55:59.133 に答える
0

地図作成ライブラリはGoogleMapsAPI V3と組み合わせて使用​​されるのではなく、V2のみと組み合わせて使用​​されるため、別の方法を使用する必要があります。

とにかく、ありがとう。

于 2012-07-08T19:08:00.493 に答える