Google Map Javascript Api を利用し、KMLファイルでレイヤーの読み込みを行なっていますが、現在地表示との連動がうまくいかないので、質問させてください。
・やりたいこと
KMLでレイヤーを表示。その上で、現在地を取得して現在地を中心にマップを開く
・今の状態
KMLファイルの中心地でマップが開く。
それぞれを単体で処理した場合、正しく処理できています。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
現在地のみの取得 → 現在地で表示される
KMLファイルの読み込み → KMLレイヤーの中心地で表示される。
しかしながら、2つの処理を同時に行なった場合は、KMLの処理が優先されているようです。
KMLレイヤーの中心地と、現在地の情報取得で処理をバッティングさせないやりかたはないでしょうか。
よろしくお願いします。
以下、ソースです。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
initialize();
function initialize() {
var latlng = new google.maps.LatLng(35.60349, 140.06912);
var opts = {
noClear : true,
zoom : 12,
center : latlng,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), opts); var kml = "http://path/to/file.kml"; var kmlLayer = new google.maps.KmlLayer(kml); kmlLayer.setMap(map); navigator.geolocation.getCurrentPosition(successCallback, errorCallback); function successCallback(position) { now_lat = position.coords.latitude; now_lng = position.coords.longitude; var latlng = new google.maps.LatLng(now_lat, now_lng); map.setCenter(latlng); var marker = new google.maps.Marker({position:latlng}); marker.setMap(map); } function errorCallback(error) { // error }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/03/11 09:33