-1
私はこれを正しく構成したと確信していますが、 "dragend"のイベントリスナーは起動していません。イベントをbounds_changedまたはcenter_changedに変更すると、最初のページの読み込み時にのみ発生します。なぜこのように行動しているのか、目立つものはありますか?"dragend"イベントリスナーはロード時にのみ発射する(一度)Google Maps
私は基本的に、マップが場所を変えられるたびにsearchStores()関数を呼び出して、ユーザーに反応するようにしたいだけです。
var map;
$(document).ready(function() {
var latlng = new google.maps.LatLng(36.2994410, -82.3409052);
var myOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// create the new map with options
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
$("#btnSearch").click(function(){
//Convert Address Into LatLng and Retrieve Address Near by
convertAddressToLatLng($("#txtAddress").val());
});
//send user to print/save view on click
$("#saveAs").click(function() {
window.location.href = "https://54.90.210.118/test.html?address=" + $("#txtAddress").val() + '&radius=' + $("#radiusO").val();
});
//WHAT IS GOING ON WITH THIS GUY???
google.maps.event.addListener(map, "dragend", function() {
alert('map dragged');
});
});
$(document).one('ready', function(){
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
latlngloc = new google.maps.LatLng(pos.lat, pos.lng);
map.setCenter(pos);
$("#divStores").html('');
searchStores(latlngloc);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
});
私はjQueryに慣れていませんが、なぜonReadyとone( 'ready')のドキュメントが必要ですか?彼らは同じことをしないのですか? –
あなたは間違って何かを見ることができません。ここであなたのコードを使用してjsfiddleであり、それは正常に動作します - https://jsfiddle.net/g1s7n3tm/ –
downvote?ハァッ。とにかく、それはまだ私の最後に働いていません。私はさまざまなブラウザなどを試してみました。それはジオロケーション機能と思われます。私がそれをコメントアウトすると、リスナーはうまく動作します。これまでのところ私は.one()を削除し、Geolocationをmain document.ready()に移動しました。私はまだ遊ぶためのオプションで遊んでいます。イベントリスナーが上書きされているか、地図が更新されている(つまり、リスナーがクリアされている)点を見つけることはできないようです。 – Lynxx