現在、単純なコロプレス マップをマップに実装しようとしています (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>
それに変更を加えても、マップが表示されません:(