今、自分がいる場所を中心にしたマップを表示するのも、HTML5 の Geolocation API が使えると楽勝やね。
「Google Maps API キーっていらんのんよね?」というエントリーに載せてる HTML ソースの script のところを、
<script type="text/javascript">
function initialize() {
navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
function successCallback(position) {
map_set(position.coords.latitude, position.coords.longitude);
}
function errorCallback(error) {
//とりあえず何もしない
}
}
function map_set(latitude, longitude) {
var latlng = new google.maps.LatLng(latitude, longitude);
var opts = {
zoom: 18,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), opts);
}
</script>
っていう具合に直すだけや。
google.maps.LatLng に固定値をセットしてたのを、position.coords.latitude, position.coords.longitude をセットするように修正しただけ。
そう言えば、
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
の sensor は false のままだけど、これってどういう時 true にするんだろう?
Geolocation API みたいなのを Google でも用意してて、true にしたらそれが使えるんかなあ???
コメントする