gpt4 book ai didi

javascript - 谷歌地图 - 在标记点击中心 map

转载 作者:行者123 更新时间:2023-11-30 06:56:57 25 4
gpt4 key购买 nike

我有以下用于在谷歌地图上放置多个标记的代码。

我现在想要做的是,当用户点击一个标记时,它会放大,然后将 map 居中放置在标记位置(这是不起作用的部分 - 在 setMarkers 函数中的代码末尾)。

有什么想法吗?

var infowindow = null;
var sites = [];
var partsOfStr = [];
var partsOfStr2 = [];
var bounds;

$(document).ready(function () {
$("select[id*='coordList']").find("option").each(function () {
partsOfStr = $(this).val().split(',');
partsOfStr2 = $(this).text().split('^');
sites.push([partsOfStr2[0], parseFloat(partsOfStr[0]), parseFloat(partsOfStr[1]), partsOfStr[2], partsOfStr2[1], partsOfStr2[2], partsOfStr2[3], partsOfStr[3], partsOfStr[4], partsOfStr[5]]);
});
initialize();
});

function initialize() {
bounds = new google.maps.LatLngBounds();
var mapOptions = {
zoom: 6,
center: new google.maps.LatLng(54.57951, -4.41387),
scrollwheel: false,
mapTypeId: google.maps.MapTypeId.HYBRID
}

var map = new google.maps.Map(document.getElementById('map'), mapOptions);

setMarkers(map, sites);

infowindow = new google.maps.InfoWindow({
content: "loading..."
});

google.maps.event.addListener(infowindow,'closeclick',function(){
map.setCenter(new google.maps.LatLng(54.57951, -4.41387));
map.setZoom(6);
});

}



function setMarkers(map, markers) {

for (var i = 0; i < markers.length; i++) {
var sites = markers[i];
var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);
var marker = new google.maps.Marker({
position: siteLatLng,
map: map,
title: sites[0],
html: "<div class='mapDesc'>content here...</div>"
});

google.maps.event.addListener(marker, "click", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
map.setCenter(marker.getPosition()); // NOT WORKING!!!!!!!
map.setZoom(10);
});

bounds.extend(new google.maps.LatLng(sites[1], sites[2]));
map.fitBounds(bounds);
}

}

最佳答案

标记指向最后添加的标记。使用函数闭包或像您对信息窗口所做的那样使用“this”:

    google.maps.event.addListener(marker, "click", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
map.setCenter(this.getPosition());
map.setZoom(10);
});

关于javascript - 谷歌地图 - 在标记点击中心 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18485024/

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