リバース ジオコーディングをしようとしていますが、コードをテストして動作するかどうかを確認するための簡単なスニペットを作成しました。
これは次のコードです。
<html>
<style>
/**
* Default attributes for gadget body.
*/
body {
font-family: Arial;
background: none transparent;
padding: 0px;
}
html, body, #map_canvas {
margin: 0;
padding: 0;
height: 100%;
}
</style>
<body>
<div id="map_canvas"></div>
<script>
var APIKey = "MyKeyValueIsInHere";
var geocoder;
var map;
var marker;
var locationTest = 'http://nominatim.openstreetmap.org/reverse?format=json&lat=55.653363&lon=12.547604&zoom=18&addressdetails=1';
var lat = 55.653363;
var lng = 12.547604;
function initialize() {
var latlng = new google.maps.LatLng(lat,lng);
// set the options for zoom level and map type
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
// create a map in the map_canvas div element
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
map.setCenter(latlng);
var marker = new google.maps.Marker({
map: map,
position: latlng
});
alert(locationTest);
var text = JSON.parse(locationTest);
var infoWindow = new google.maps.InfoWindow();
var houseNumber = text.address.house_number;
var road = text.address.road;
var suburb = text.address.suburb;
var zipCode = text.address.postcode;
var city = text.address.city;
var address = road + " " + houseNumber + ", " + zipCode + " " + suburb + " i " + city;
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(address);
infoWindow.open(map, this);
});
}
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?key=" + APIKey + "&sensor=false&callback=initialize";
document.body.appendChild(script);
}
loadScript();
</script>
</body>
</html>
とにかく、実行すると、次のような警告が表示されます: http://nominatim.openstreetmap.org/reverse?format=json&lat=55.653363&lon=12.547604&zoom=18&addressdetails=1
基本的に、私がやりたいことは、Google マップのマーカーの上に情報ウィンドウをポップすることです。情報ウィンドウには、変数アドレスであるテキストが表示されます。
しかし、このコードを実行すると、
Uncaught SyntaxError: Unexpected token h
この行である45行目:
var text = JSON.parse(locationTest);
では、この問題を解決する方法を知っている人はいますか?
前もって感謝します!