Javascript 如何在传单地图上添加更多标记
我想添加一个地址数组并将其转换为坐标,为每个地址创建标记并将其添加到地图中,尝试迭代循环,但它不起作用,你能帮我吗?代码如下:Javascript 如何在传单地图上添加更多标记,javascript,jquery,laravel,leaflet,maps,Javascript,Jquery,Laravel,Leaflet,Maps,我想添加一个地址数组并将其转换为坐标,为每个地址创建标记并将其添加到地图中,尝试迭代循环,但它不起作用,你能帮我吗?代码如下: var map = L.map('map').setView([17.0812861,-96.805772], 13); L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© <a href="https://www.open
var map = L.map('map').setView([17.0812861,-96.805772], 13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: ['a', 'b', 'c']
}).addTo(map);
var planes = [
["Prolongación de Xicoténcatl, 68120 Oaxaca de Juárez, MX"],
["Av Belisario Domínguez 428, 68050 Oaxaca de Juárez, MX"],
["C820B6"]
];
for (var i = 0; i < planes.length; i++) {
planes[i]=provider.search({
query: planes[i]
});
}
for (i = 0; i < value.length; i++) {
query.then(value => {
for (i = 0; i < value.length; i++) {
// Success!
var x_coor = value[i].x;
var y_coor = value[i].y;
var label = value[i].label;
var marker = L.marker([y_coor, x_coor]).addTo(map).on('click', markerOnClick);
marker.bindPopup("<b>Found location</b><br>" + label).openPopup(); // note the "openPopup()" method. It only works on the marker
};
}, reason => {
console.log(reason); // Error!
});
}
var-map=L.map('map').setView([17.0812861,-96.805772],13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;”,
子域:['a','b','c']
}).addTo(地图);
变量平面=[
[“墨西哥华雷斯瓦哈卡68120号,西科特涅加特延长期”],
[“Av Belisario Domínguez 428、68050瓦哈卡-华雷斯,墨西哥”],
[“C820B6”]
];
对于(变量i=0;i{
对于(i=0;i”+标签).openPopup();//注意“openPopup()”方法。它只对标记有效
};
},原因=>{
console.log(原因);//错误!
});
}
这个脚本使用一个标记:
var map = L.map('map').setView([17.0812861,-96.805772], 13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: ['a', 'b', 'c']
}).addTo(map);
var query_addr = "Prolongación de Xicoténcatl 1031, 68120 , MX";
const provider = new window.GeoSearch.OpenStreetMapProvider();
var query_promise = provider.search({
query: query_addr
});
query_promise.then(value => {
for (i = 0; i < value.length; i++) {
// Success!
var x_coor = value[i].x;
var y_coor = value[i].y;
var label = value[i].label;
var marker = L.marker([y_coor, x_coor]).addTo(map)
marker.bindPopup("<b>Found location</b><br>" + label).openPopup(); };
}, reason => {
console.log(reason);
}
);
var-map=L.map('map').setView([17.0812861,-96.805772],13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;”,
子域:['a','b','c']
}).addTo(地图);
var query_addr=“延长西科大学的教学时间1031、68120、MX”;
const provider=new window.GeoSearch.openstreetmaprovider();
var query\u promise=provider.search({
查询:查询地址
});
查询承诺。然后(值=>{
对于(i=0;i”+标签).openPopup();};
},原因=>{
控制台日志(原因);
}
);
我是JS和Laravel方面的新手,编程方面的新手,我非常喜欢学习。如果您能支持我,我将非常感激,我觉得它很有趣,jaavscript如果您还不能找到解决方案,我和您有同样的问题。只需将
const提供程序
更改为var提供程序
所以它会导致这样的结果:
var map = L.map('map').setView([17.0812861,-96.805772], 13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: ['a', 'b', 'c']
}).addTo(map);
var query_addr = "Prolongación de Xicoténcatl 1031, 68120 , MX";
var provider = new window.GeoSearch.OpenStreetMapProvider();
var query_promise = provider.search({
query: query_addr
});
query_promise.then(value => {
for (i = 0; i < value.length; i++) {
// Success!
var x_coor = value[i].x;
var y_coor = value[i].y;
var label = value[i].label;
var marker = L.marker([y_coor, x_coor]).addTo(map)
marker.bindPopup("<b>Found location</b><br>" + label).openPopup(); };
}, reason => {
console.log(reason);
}
);
var-map=L.map('map').setView([17.0812861,-96.805772],13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;”,
子域:['a','b','c']
}).addTo(地图);
var query_addr=“延长西科大学的教学时间1031、68120、MX”;
var provider=new window.GeoSearch.openstreetmaprovider();
var query\u promise=provider.search({
查询:查询地址
});
查询承诺。然后(值=>{
对于(i=0;i”+标签).openPopup();};
},原因=>{
控制台日志(原因);
}
);
我认为这只是在嵌套循环中重用变量名I
的问题;使用i
,然后使用j
。参见例如,在i和j的故事之前,值和查询变量从何而来?