按标记在地图上获取标记的latlng

时间:2012-06-15 14:33:32

标签: google-maps google-maps-api-3

我有一个panto标记功能,需要经度和纬度变量。我可以将联系人姓名作为变量发送。

联系人姓名是我想要平移的标记的标记。我有可能通过标记获得标记的经度和纬度吗?

这是我的panto功能

 function pantoUser(lati,longi,i)
{
    jQuery("#dispatcher").gmap3({
        action: 'panTo',
        args:[new google.maps.LatLng(lati,longi)],
        zoom: 7
               });
               currentPoint = i;
                jQuery("#dispatcher").css({
                    cursor: 'pointer'
                });
                jQuery('#markerTitle' + i + '').fadeIn({
                    duration: 200,
                    queue: false
                }).animate({
                    bottom: "32px"
                }, {
                    duration: 200,
                    queue: false
                });
            jQuery("#target").stop(true, true).fadeIn(1200).delay(500).fadeOut(1200);
                jQuery("#dispatcher").css({
                    cursor: 'default'
                });
                jQuery('#markerTitle' + i + '').stop(true, true).fadeOut(2000, function() {
                    jQuery("#dispatcher").css({
                        bottom: "0"
                    })
                jQuery("#target").stop(true, true).fadeIn(1200).delay(500).fadeOut(1200);
                });

}

我在考虑这样的事情?

 function locateLastSpeaker(name) {
var lati = SOMEHOW GET IT
var longi = SOMEHOW GET IT
pantoUser(lati,longi,1)

}

尝试duncans解决方案后编辑!!

var stuMarkers = {};

function addMarker(i, lati, longi, id, name, state, datestring) {
 var placename = name;
 stuMarkers[placename].lat = lati;
 stuMarkers[placename].lng = longi;
    $('#dispatcher').gmap3(
      { action: 'addMarker', ....etc

2 个答案:

答案 0 :(得分:1)

而不是像巴里所说的那样的数组,而是关于名字的对象怎么样。这样你甚至不必循环。

var stuMarkers = {};  // global variable outside of any function

// loop creating your markers

function addMarker(i, lati, longi, id, name, state, datestring) {
 var placename = name;
 stuMarkers[placename] = {};
 stuMarkers[placename].lat = lati;
 stuMarkers[placename].lng = longi;
 stuMarkers[placename].i = i;
 ...
}


function locateLastSpeaker(name) {
  pantoUser(stuMarkers[name].lat,stuMarkers[name].lng,stuMarkers[name].i);
}

答案 1 :(得分:0)

保留对每个标记的引用 - 可能在数组中。

如果要查找特定标记,请循环该数组,然后找到特定标记。

然后用它做你想做的事。