私はグーグルマップを使用していて、places APIを試していますが、何かが不思議に思います...
maps.google.comを読み込んでクアラルンプールに行き、検索ボックスに「食べ物」と入力すると、地図上に何百ものレストランが表示されます。これらを自分のマップに入れたいと思います。
Places APIを使用して、サンプルコードをほぼコピーしました。
function initialize() {
var plat = 3.15;
var plong = 101.7;
var ppos = new google.maps.LatLng(plat, plong);
var mapOptions = {
mapTypeId: google.maps.MapTypeId.ROADMAP,
draggable: false,
zoom: 10,
center: ppos
};
map = new google.maps.Map(document.getElementById("mapcanvas"), mapOptions);
var request = {
location: ppos,
radius: '10000'
};
infowindow = new google.maps.InfoWindow();
service = new google.maps.places.PlacesService(map);
service.search(request, callback);
}
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
}
}
function createMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location,
icon: place.icon
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.setContent("<b>" + place.name + "</b><br/>" + place.vicinity);
infowindow.open(map, this);
});
}
このコードを実行すると、結果が得られますが、いくつかのモールや美術館などの主要な場所はごくわずかです。では、Google自身の地図に表示されている美しいデータをすべて取得するにはどうすればよいでしょうか。