Javascript 传单JS、can和x27;t将弹出窗口绑定到第二个标记
我不能在使用传单JS时将弹出窗口绑定到第二个标记,第一个标记工作得非常好,有什么帮助吗?以下是我的javascript代码:Javascript 传单JS、can和x27;t将弹出窗口绑定到第二个标记,javascript,dictionary,geolocation,leaflet,marker,Javascript,Dictionary,Geolocation,Leaflet,Marker,我不能在使用传单JS时将弹出窗口绑定到第二个标记,第一个标记工作得非常好,有什么帮助吗?以下是我的javascript代码: var map = L.map('mapScene', { zoomControl: false, attributionControl: false, }).fitWorld(); var playerIcon = L.icon({ iconUrl: 'img/player
var map = L.map('mapScene', {
zoomControl: false,
attributionControl: false,
}).fitWorld();
var playerIcon = L.icon({
iconUrl: 'img/playermarker.png',
shadowUrl: 'img/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
var itemsIcon = L.icon({
iconUrl: 'img/crate.png',
shadowUrl: 'img/marker-shadow.png',
iconSize: [45, 46], // size of the icon
shadowSize: [50, 64], // size of the shadow
iconAnchor: [22, 94], // point of the icon which will correspond to marker's location
shadowAnchor: [10, 117], // the same for the shadow
popupAnchor: [1, -34],
});
L.tileLayer('http://stamen-tiles-{s}.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.{ext}', {
minZoom: 14,
maxZoom: 14,
attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: 'abcd',
ext: 'png'
}).addTo(map);
var playerMarker;
function onLocationFound(e) {
var radius = e.accuracy / 2;
playerMarker = L.marker(e.latlng, {
icon: playerIcon
}).addTo(map).bindPopup("Hey i'm you!");
addMarkers();
}
function addMarkers(){
alert();
L.marker(playerMarker + 2, {
icon: itemsIcon
}).addTo(map).bindPopup("").on('popupopen', function() {
alert();
});
}
function onLocationError(e) {
alert(e.message);
}
map.on('locationfound', onLocationFound);
map.on('locationerror', onLocationError);
map.locate({
setView: true,
maxZoom: 16
});
var map=L.map('mapsecene'{
动物控制:错误,
属性控制:false,
}).fitWorld();
var playerIcon=L.icon({
iconUrl:'img/playermarker.png',
shadowUrl:'img/marker shadow.png',
iconSize:[25,41],
iconAnchor:[12,41],
popupAnchor:[1,-34],
阴影大小:[41,41]
});
var itemsIcon=L.icon({
iconUrl:'img/crate.png',
shadowUrl:'img/marker shadow.png',
图标大小:[45,46],//图标的大小
阴影大小:[50,64],//阴影的大小
iconAnchor:[22,94],//对应于标记位置的图标点
shadowAnchor:[10117],//对阴影也一样
popupAnchor:[1,-34],
});
L.tileLayer('http://stamen-tiles-{s} .a.ssl.fastly.net/watercolor/{z}/{x}/{y}.{ext}'{
minZoom:14,
maxZoom:14,
属性:“地图平铺依据,&mdash;地图数据&mdash;”,
子域:“abcd”,
分机:png
}).addTo(地图);
var playerMarker;
函数onLocationFound(e){
var半径=e.精度/2;
playerMarker=L.标记(e.板条{
图标:playerIcon
}).addTo(map).bindpoop(“嘿,我是你!”);
添加标记();
}
函数addMarkers(){
警惕();
L.标记器(玩家标记器+2{
图标:itemsIcon
}).addTo(map).bindpoppup(“”).on('popupopen',function(){
警惕();
});
}
函数onLocationError(e){
警报(e.message);
}
地图上('locationfound',onLocationFound);
map.on('locationerror',onLocationError);
定位({
setView:对,
最大缩放:16
});
通过函数“addMarkers()”添加的第二个标记显示得非常好,但是.bindpopup根本不起作用。您可以单击标记,但没有显示任何内容,警报也没有显示。谢谢@ghybs的帮助。这是一本书。 我不知道你怎么会想到它会与
playerMarker+2
一起作为latLng
工作,但似乎这是个错误。标记和整数之间的加法无效
[编辑]下面是一段有趣的代码:
function onLocationFound(e) {
var radius = e.accuracy / 2;
playerMarker = L.marker(e.latlng).addTo(map).bindPopup("Hey i'm the first marker ");
addMarkers();
}
function addMarkers() {
//alert();
var ll = playerMarker.getLatLng();
var ll2 = L.latLng(ll.lat+12, ll.lng+12);
var mm = L.marker(ll2).addTo(map);
mm.bindPopup("Hey i'm the second marker");
}
谢谢@ghybs的提琴。这是一本书。 我不知道你怎么会想到它会与
playerMarker+2
一起作为latLng
工作,但似乎这是个错误。标记和整数之间的加法无效
[编辑]下面是一段有趣的代码:
function onLocationFound(e) {
var radius = e.accuracy / 2;
playerMarker = L.marker(e.latlng).addTo(map).bindPopup("Hey i'm the first marker ");
addMarkers();
}
function addMarkers() {
//alert();
var ll = playerMarker.getLatLng();
var ll2 = L.latLng(ll.lat+12, ll.lng+12);
var mm = L.marker(ll2).addTo(map);
mm.bindPopup("Hey i'm the second marker");
}
L.marker(playerMarker+2,
对我来说很奇怪。你能解释一下你想用你的标记做什么吗?为什么你需要在locationfound
事件中添加两个标记?@JulienV只是简单地在玩家的标记附近添加标记,尽管这与问题无关。你的浏览器控制台怎么说?比如@JulienV暗示,您的代码可能会抛出错误。@ghybs刚刚检查过,我的代码没有抛出任何错误。除了缺少的图像外,请参见TypeError:latlng为null
,因为playerMarker+2
行L标记(playerMarker+2,
对我来说很奇怪。你能解释一下你想用你的标记做什么吗?为什么你需要在locationfound
事件中添加两个标记?@JulienV只是简单地在玩家的标记附近添加标记,尽管这与问题无关。你的浏览器控制台怎么说?比如@JulienV暗示,您的代码可能会抛出错误。@ghybs刚刚检查过,我的代码没有抛出任何错误。除了缺少的图像外,请参阅TypeError:latlng为null
,因为playerMarker+2
行