0
クリックするとGoogleマップを所定の座標にパンするhrefを動的に追加しようとしています。以下のコードは、マップをパンするhrefリンクを作成しますが、最近作成されたサークルの位置にパンします。ユニークなGoogle Map latLngを非同期で動かすような動的なHREFを作成する
閉包されたIIFE内の現在の座標は保持されるが、そのような運がないことを望むならば、閉包panToCircleを追加した。私の最高の戦略は何だと思いますか?ありがとう、トン!
注:これはすべて非同期コールバックから連鎖され、応答がサーバーから送信されるたびにサークルが作成されます。
var text = 'Hello World!';
// Hoisting the panToCircle up here, as Chrome was giving me undefined ref errors when initializing it in linkToCircle.
var panToCircle = function(){};
var rgb = [100,100,100];
createCircle();
function createCircle(){
var color = 'RGB(' + rgb.toString() + ')';
var myCircle = initCircle();
linkToCircle();
function linkToCircle(){
var a = document.createElement('a');
a.innerHTML = text + "<br><br>";
a.style.color = color;
panToCircle = function(){
// Defining center in here, as putting a center in as an argument to the href function reclasses the center as a string, not a latLng
var center = myCircle.getCenter();
(function panNow(cen){
map.panTo(cen);
})(center);
}
a.href = 'javascript:panToCircle();'
document.getElementById('text-div').appendChild(a);
}
}