Javascript 未捕获引用错误:未定义L
那么我该如何修复这个错误呢?“未捕获引用错误:未定义L” var map=L.map(“map”).setView([60.201424,24.934037],12) 下面是Javascript的其余部分: var map=L.map(“map”).setView([60.201424,24.934037],12)Javascript 未捕获引用错误:未定义L,javascript,google-maps,cordova,phonegap,marker,Javascript,Google Maps,Cordova,Phonegap,Marker,那么我该如何修复这个错误呢?“未捕获引用错误:未定义L” var map=L.map(“map”).setView([60.201424,24.934037],12) 下面是Javascript的其余部分: var map=L.map(“map”).setView([60.201424,24.934037],12) L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png'{ 属性:“©;贡献者” }).addTo(地图); var la
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png'{
属性:“©;贡献者”
}).addTo(地图);
var layergroup=L.layergroup().addTo(映射);
var活性标记;
$(“#添加标记”)。单击(函数(){
var mapCenter=map.getCenter();
var geojsonFeature={
“类型”:“功能”,
“财产”:{
“名称”:“,
“类型”:“nur”,
“reichweite”:”
},
“几何学”:{
“类型”:“点”,
“坐标”:[mapCenter.lat,mapCenter.lng]
}
};
var geojsonlayer=L.geoJson(geojsonFeature{
pointToLayer:功能(特性、latlng){
var marker=L.marker(map.getCenter(){
真的,
}).bindPopup(“解封中间标记
名称:说你好”);
marker.on(“popupopen”,onPopupOpen);
返回标记;
}
});
layergroup.addLayer(geojsonlayer.getLayers()[0]);//使用唯一的标记,而不是GeoJSON层。
});
//用于处理标记弹出窗口打开时的删除和其他事件的函数
函数onPopupOpen(){
activeMarker=这个;
$(“.marker删除按钮:可见”)。单击(函数(){
layergroup.removeLayer(activeMarker);
activeMarker=null;
});
$(“#setname”).val(activeMarker.feature.properties.name).change(modifyName);
}
函数modifyName(事件){
var newName=event.currentTarget.value;
activeMarker.feature.properties.name=newName;
}
函数getAllMarkers(){
/*var allMarkersObjArray=[];//新数组();
var allMarkersGeoJsonArray=[];//新数组();
$。每个(映射层,函数(ml){
//console.log(映射层)
if(映射._层[ml].要素和映射._层[ml].要素.properties.typ==“nur”){
推(这个);
allMarkersGeoJsonArray.push(JSON.stringify(this.toGeoJSON());
}
})*/
var allMarkersObjArray=layergroup.getLayers();
var allMarkersGeoJsonArray=[];
layergroup.eachLayer(函数(层){
allMarkersGeoJsonArray.push(JSON.stringify(layer.toGeoJSON());
//您也可以使用layergroup.toGeoJSON(),但它会给出一个FeatureCollection,而这里您会得到一个Feature的数组。
});
console.log(allMarkersObjArray);
警报(“Anzahl标记:“+allMarkersGeoJsonArray.length+”\n\n“+allMarkersGeoJsonArray+”\n\n”);
}
$(“#getAllMarkers”)。单击(函数(){
getAllMarkers();
});
因此,我正在尝试制作一个应用程序,您可以单击地图并插入带有消息的标记。我假设您正在使用
传单js
库渲染该地图
请确保在开始之前已按照本指南准备好页面:
因此,您需要在页面中包括:
- css文件李>
- js文件李>
- 将
添加到页面正文中李> - 然后才添加代码
享受吧 对!!非常感谢:)@ZamiCoskula不客气,如果以上所有方法都适用于您,您可以将此答案标记为预期答案。另一个用户甚至不用投票就解决了他的问题。StackOverflow,请创建有关如何使用此网站的视频教程!
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
var layergroup = L.layerGroup().addTo(map);
var activeMarker;
$("#addmarker").click(function() {
var mapCenter = map.getCenter();
var geojsonFeature = {
"type": "Feature",
"properties": {
"name": "",
"typ": "nur",
"reichweite": ""
},
"geometry": {
"type": "Point",
"coordinates": [mapCenter.lat, mapCenter.lng]
}
};
var geojsonlayer = L.geoJson(geojsonFeature, {
pointToLayer: function(feature, latlng) {
var marker = L.marker(map.getCenter(), {
draggable: true,
}).bindPopup("<div id='titel'>Unbenannter Marker</div><input type='button' value='Delete Marker' class='marker-delete-button'/><br><p>Name:<input type='text' id='setname'/><button class='trigger'>Say hi</button>");
marker.on("popupopen", onPopupOpen);
return marker;
}
});
layergroup.addLayer(geojsonlayer.getLayers()[0]); // use the only marker instead of the GeoJSON layer.
});
// Function to handle delete as well as other events on marker popup open
function onPopupOpen() {
activeMarker = this;
$(".marker-delete-button:visible").click(function() {
layergroup.removeLayer(activeMarker);
activeMarker = null;
});
$("#setname").val(activeMarker.feature.properties.name).change(modifyName);
}
function modifyName(event) {
var newName = event.currentTarget.value;
activeMarker.feature.properties.name = newName;
}
function getAllMarkers() {
/*var allMarkersObjArray = []; //new Array();
var allMarkersGeoJsonArray = []; //new Array();
$.each(map._layers, function(ml) {
//console.log(map._layers)
if (map._layers[ml].feature && map._layers[ml].feature.properties.typ == "nur") {
allMarkersObjArray.push(this);
allMarkersGeoJsonArray.push(JSON.stringify(this.toGeoJSON()));
}
})*/
var allMarkersObjArray = layergroup.getLayers();
var allMarkersGeoJsonArray = [];
layergroup.eachLayer(function(layer) {
allMarkersGeoJsonArray.push(JSON.stringify(layer.toGeoJSON()));
// You could also have used layergroup.toGeoJSON(), but it would have given a FeatureCollection, whereas here you get an array of Feature's.
});
console.log(allMarkersObjArray);
alert("Anzahl Markers : " + allMarkersGeoJsonArray.length + "\n\n" + allMarkersGeoJsonArray + "\n\n");
}
$("#getAllMarkers").click(function() {
getAllMarkers();
});
</script>