如何解决按钮 onclick 循环后调用数组中的最后一个元素
我正在尝试在标记上创建按钮,将我带到该位置,但我的代码总是将我带到标记数组中的最后一个位置。导航按钮中的 onclick 功能问题。它应该为每个按钮打开地图,但它正在为最后一个元素打开最后一个电子地图。你能帮我吗?
function initMap(){
// Map options
// var options = {
// zoom: 9,// center: {lat:35.2386,lng:-78.4520}
// }
// New map
var map = new google.maps.Map(document.getElementById('map'));
// Before adding markers:
bounds = new google.maps.LatLngBounds();
// Array of markers
var markers = <%= raw @sites_array.to_json %>;
// Loop through markers
for(var i = 0; i < markers.length; i++){
// Add marker
addMarker(markers[i]);
// Everytime you add a new marker:
loc = new google.maps.LatLng(markers[i].coords.lat,markers[i].coords.lng);
bounds.extend(loc);
}
// After all markers have been added:
map.fitBounds(bounds); // auto-zoom
map.panToBounds(bounds); // auto-center
// Add Marker function ---------------------------------------------------
function addMarker(props){
var marker = new google.maps.Marker({
position: props.coords,map:map,});
console.log(props)
farm_info = props
console.log(this.farm_info)
//Check content
if(props.content){
const infoContent = `<a href="/sites_admin/${props.id}">${props.content}</a><br><button onclick="openGoogleMap(farm_info)" class="btn btn-success my-2 my-sm-0 pl-4 pr-4">Navigate</button> `;
var infoWindow = new google.maps.InfoWindow({
content: infoContent
});
marker.addListener('click',function(){
infoWindow.open(map,marker);
});
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。