Cloudmade и Leaflet: несколько пользовательских маркеров
Я ознакомился с буклетом о том, как создать Layer Control и пользовательские маркеры:
Маркеры:http://leafletjs.com/examples/custom-icons.html Элемент управления: http://leafletjs.com/examples/layers-control.html
Я использую контрольный код, и я хотел бы добавить MULTIPLE custom markear к этому. При применении этого кода карта становится пустой, однако с одним маркером это работает. Любая помощь или руководство было бы здорово.
Это мой текущий код для нескольких маркеров, который ломается:
Я получаю сообщение об ошибке в консоли при загрузке:var officeoneIcon = new officeIcon({iconUrl: 'images/office1.png'}), officeIcon не определен.
[КОД]
var officeoneIcon = new officeIcon({iconUrl: 'images/office1.png'}),
officetwoIcon = new officeIcon({iconUrl: 'images/office2.png'}),
officethreeIcon = new officeIcon({iconUrl: 'images/office3.png'});
var officeone = L.marker([lat,long],{icon: officeoneIcon}).bindPopup('<b>Office Address</b>');
var officetwo = L.marker([lat,long],{icon: officetwoIcon}).bindPopup('<b>Office Address</b>');
var officethree = L.marker([lat,long],{icon: officethreeIcon}).bindPopup('<b>Office Address</b>');
var cities = L.layerGroup([officeone, officetwo, officethree]);
var minimal = L.tileLayer(cloudmadeUrl, {styleId: 22677}),
midnight = L.tileLayer(cloudmadeUrl, {styleId: 999}),
motorways = L.tileLayer(cloudmadeUrl, {styleId: 46561});
var map = L.map('map', {
center: new L.LatLng(lat,long),
zoom: 10,
scrollWheelZoom: true,
layers: [minimal, motorways, cities]
});
var baseMaps = {
"Minimal": minimal,
"Night View": midnight,
};
var overlayMaps = {
"Motorways": motorways,
"Display Markers": cities
};
L.control.layers(baseMaps, overlayMaps).addTo(map);
[/КОД]
1 ответ
Это было решено путем добавления "var officeIcon =L.icon;"
над строками кода iconUrl.