2016-03-02 45 views
0

我在地图上使用单张框架显示标记。错误消息显示在页面底部“出错了,地图容器已经初始化..请重试。”当多个标记添加到地图时。标记的所有功能都正常工作。如果只有1个标记添加到地图则不会在底部地图容器已经初始化错误显示在页面底部

var map; 
var arrMarkers = []; 
var lat = value1[1]; 
var lang = value1[2]; 
var map = new L.Map('map'); 
map.setView([lat, lang], 6); 
L.tileLayer('api.tomtom.com/map/1/tile/basic/main{z}/{x}/{y}.png?key={piKey}', { 
    apiKey: 'trv87gvquv8yyfr4nrwgsdzc', 
    maxZoom: 18 
}).addTo(map); 
for (i = 0; i < allpairs.length; i++) { 
    var j = 0, 
     k = 0; 
    var newpair = allpairs[i].split('#'); 
    var text = newpair[0]; 
    var lat1 = newpair[1]; 
    var lng1 = newpair[2]; 
    var title = text; 
    var title1 = '<h1> this is sample text </h1> <br></br> text'; 
    var marker = L.marker([lat1, lng1], 'showtext'); 
    marker.addTo(map).bindPopup(title1); 
    marker.bindLabel(title, { 
     nohide: true 
    }).addTo(map); 
} 

回答

0

显示此错误消息有是你的代码调用L.map("containerId")当它被添加标记非常高的机会。

L.map必须调用每个集装箱只有一次。

保存参考(例如var map = L.map("containerId")),以便您可以将其重新用于下一个标记:L.marker(coords).addTo(map)

如果这不能解决您的问题,你将不得不发布您的代码,以获得进一步的帮助。

+0

var map; \t var arrMarkers = []; var lat = value1 [1]; var lang = value1 [2]; var map = new L.Map('map'); \t \t \t \t map.setView([LAT,郎],6); L.tileLayer( 'https://api.tomtom.com/map/1/tile/basic/main/ {Z}/{X}/{Y} .PNG?键= {apiKey}',{ apiKey:'trv87gvquv8yyfr4nrwgsdzc', maxZoom:18})。addTo(map); – ABHIJIT

+0

为(I = 0;我 ABHIJIT

+0

我的代码粘贴在上面。 L.Map只被调用一次。 L.marker在for循环中被调用,因为我必须根据纬度和语言在地图上放置标记 – ABHIJIT