从div加载多个lat / long的有效方法

时间:2014-01-23 21:16:45

标签: javascript google-maps

我在一个页面上有10个以上的div,我动态地将单个标记lat / long数据加载到每个div中,onclick。这会产生一张地图,没有问题。我试图得到它,以便我可以将lat / long数据的多个值解析为每个div。以下是单纬度/长入口数据的示例

DEMO JSfiddle http://jsfiddle.net/x8dSP/2441/

<div id="map1" class="map" data-no="1" data-lat="53.716216" data-long="-1.96312"></div>

这是我尝试每个div使用多个标记

DEMO JSfiddle http://jsfiddle.net/x8dSP/2445/

<div id="map1" class="map" data-no="1" data-loc="53.716216,-1.582031|53.815121,-1.96312"></div>

它不起作用,我在如何让它工作方面走到了尽头。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

  • 标记位置需要是google.maps.LatLng,而不是逗号分隔的字符串
  • 在使用markerOptions
  • 之前,需要初始化地图
  • (除其他外)。

function mapOneInitialize(elem, index,loc) {

    var centerPosition = new google.maps.LatLng('53.716216,-1.582031')

    var options = {
        zoom: 16,
        center: centerPosition,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map[index] = new google.maps.Map(elem, options);

    var loc = loc.split("|");
    for (var x = 0; x < loc.length; x++) {
        var coords = loc[x].split(',');
        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(parseFloat(coords[0]),
                                             parseFloat(coords[1])),
            map: map[index]
        });
    }
};

working fiddle