gpt4 book ai didi

javascript - 谷歌地图javascript API如何将 map 置于信息框中心

转载 作者:行者123 更新时间:2023-11-28 10:01:12 28 4
gpt4 key购买 nike

如果我在谷歌地图上有一个信息框,如何使信息框显示在 map 的中心?我指定它是为了使 map 在标记上居中。但我在 map 标记旁边有一个可变宽度和高度的丰富标记框。我希望该信息框显示在 map 的中心。

    var lat_lon = new google.maps.LatLng(latitude, longitude);
var myOptions = {
zoom: 4,
center: lat_lon,
mapTypeId: google.maps.MapTypeId.ROADMAP,
};

map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);

var marker = new google.maps.Marker({
position: lat_lon,
map: map,
title: place,
icon: 'googlemaps/church3.png',
clickable: true,
});

var mappics_dir = "mappics/";
var picture_img = "";
if ( picture != undefined && picture != "" ) {
picture_img = '<div><img src="'+mappics_dir+picture+'" style="width: auto; height: 100px; min-width: 90px;"/></div>';
}

marker_info = new RichMarker({
position: lat_lon,
map: map,
draggable: true,
content: '<div class="channel_marker">' + picture_img + '<div style="width: auto;">'+place+'</div></div>',
flat: true,
anchor: RichMarkerPosition.TOP_LEFT,
});

丰富标记锚定在 map 标记上。我想告诉 Google map api 在 map 中心显示 richmarker。谢谢。

最佳答案

map.setCenter(lat_lon) 

...将以位置为中心。如果您想以 RichMarker 为中心,则必须进行一些数学计算,方法是获取 RichMarker 的 ContainerPixel 或 DivPixel 中心,然后使用...

MapCanvasProjection.fromContainerPixelToLatLong(pixel:Point) or MapCanvasProjection.fromDivPixelToLatLng(pixel:Point) to center on that using map.setCenter(MapCanvasProjection.fromDivPixelToLatLng(pixel:Point)), for example.

关于javascript - 谷歌地图javascript API如何将 map 置于信息框中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9181380/

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