gpt4 book ai didi

javascript - 不要重复我自己,带对象的智能循环

转载 作者:行者123 更新时间:2023-11-30 17:54:15 25 4
gpt4 key购买 nike

这是我创建的 jsfiddle Sample 同一页面上的多个 map 。

我几乎一直在“重复”自己,因为这种方式对我自己来说更容易阅读,我的 JavaScript 技能只比初学者好一点,仍在学习中。

我知道我可以创建一个像

这样的对象
var maps ={
['latlng', 48.89376,2.33742],
['latlng1', 40.73717,-73.9],
['latlng2', -8.79069, 115.15927],
}

让生活更轻松。但我不知道如何让对象工作。

这是我的代码

function initialize() {
var latlng = new google.maps.LatLng(48.89376,2.33742); //1 location
var latlng1 = new google.maps.LatLng(40.73717,-73.98439); //2 location
var latlng2 = new google.maps.LatLng(-8.79069, 115.15927); //3 location

var settings = {
zoom: 15,
center: latlng,
disableDefaultUI: true,
zoomControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var settings1 = {
zoom: 15,
center: latlng1,
disableDefaultUI: true,
zoomControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var settings2 = {
zoom: 15,
center: latlng2,
disableDefaultUI: true,
zoomControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById("map"), settings);
var map1 = new google.maps.Map(document.getElementById("map1"), settings1);
var map2 = new google.maps.Map(document.getElementById("map2"), settings2);

var marker=new google.maps.Marker({
position:latlng,
});
marker.setMap(map);

var marker1 = new google.maps.Marker({
position:latlng1,
});
marker1.setMap(map1);

var marker2 = new google.maps.Marker({
position:latlng2,
});
marker2.setMap(map2);
}


google.maps.event.addDomListener(window, 'load', initialize);

如果有人可以帮助我用对象改进它,也意味着将来添加更多 map 或更改 latlng 会更容易。非常感谢

最佳答案

尝试

function setup(el, lat, lng){
var latlng = new google.maps.LatLng(lat, lng); //1 location
var settings = {
zoom: 15,
center: latlng,
disableDefaultUI: true,
zoomControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById(el), settings);

var marker=new google.maps.Marker({
position:latlng,
});
marker.setMap(map);

return marker;
}

function initialize() {
setup('map', 48.89376, 2.33742)
setup('map1', 40.73717, -73.98439)
setup('map2', -8.79069, 115.15927)
}


google.maps.event.addDomListener(window, 'load', initialize);

演示:Fiddle

关于javascript - 不要重复我自己,带对象的智能循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18392611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com