【发布时间】:2019-05-09 01:53:15
【问题描述】:
我用
声明一张传单地图<div id="map" class="map-div"></div>
用
结束初始化 var map = L.map('map').setView([51.178882, -1.826215],16);
$scope.map = map;
// OSM Mapnik
var osmUrl = "<a href='http://www.openstreetmap.org'>Open StreetMap</a>";
L.tileLayer(
'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© ' + osmUrl,
maxZoom: 18,
}).addTo(map);
我通过调用这个函数(它是 AngularJS,但我怀疑它是否起作用)循环地从我的服务器获取一些数据,并标记到地图:
$scope.AddMarkerToMap = function(companyData, index, array)
{
var companyName = companyData.company_name;
var latitude = companyData.latitude;
var longitude = companyData.longitude;
var cssClassname = 'comapny_has_no_present_workers';
if (companyData['currentWorkers'] > 0)
cssClassname = 'comapny_has_present_workers';
var pubLatLng = L.latLng(latitude,longitude);
// see https://leafletjs.com/reference-1.4.0.html#marker
var marker = L.marker(pubLatLng,
{
// this is the tooltip hover stuff
title: companyData['currentWorkers'] + ' current matches ' + companyData['previousWorkers'] + ' previous matches',
// see https://leafletjs.com/reference-1.4.0.html#icon
// this is a permanent label.
icon: new L.DivIcon({
className: cssClassname,
////html: '<img class="my-div-image" src="http://png-3.vector.me/files/images/4/0/402272/aiga_air_transportation_bg_thumb"/>'+
//// '<span class="my-div-span">RAF Banff Airfield</span>'
html: '<span>' + companyName + '</span>'
})
}).addTo($scope.map);
// see https://leafletjs.com/reference-1.4.0.html#popup
marker.bindPopup("<b>Hello world!</b><br>I am a popup.").openPopup();
}; // AddMarkerToMap()
整个地图突然变灰 - 在开发者控制台中没有报告任何问题。
如果我注释掉这一行
marker.bindPopup("<b>Hello world!</b><br>I am a popup.").openPopup();
然后一切都按预期显示。
根据the Leaflet documentation,代码似乎是正确的。
[Updtae] 我刚刚检查过,如果我只有marker.bindPopup("<b>Hello world!</b><br>I am a popup."),地图会显示,我可以单击标记以显示弹出窗口。但是当我尝试使用.openPopup(); 以编程方式打开它时,地图全是灰色的。
[Update++] 地图及其标记显示得很好,任何一个
marker.bindPopup("<b>Hello world!</b><br>I am a popup.");
$scope.map.fitBounds(bounds, {padding: [50, 50]});
但是两者都有,地图是灰色的:-(
我做错了什么?
【问题讨论】:
-
如果在地图为灰色的情况下调整浏览器大小会发生什么?
-
只是好奇你为什么会问这个......
-
轻松检查您是否处于这种情况:stackoverflow.com/questions/36246815/…
-
我已经更新了这个问题。请看一下。最后谢谢
-
您能否提供有关您如何“[添加]标记到地图,循环”的详细信息?
标签: leaflet