繁体   English   中英

Google Maps JavaScript API如何在信息框上居中显示地图

[英]Google maps javascript API how to center map on infobox

如果我在Google地图上有一个信息框,如何使该信息框在地图上居中显示? 我指定此选项以使地图在标记上居中。 但是我在地图标记旁边有一个宽度和高度可变的richmarker框。 我希望该信息框在地图上居中显示。

    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,
    });

richmarker锚定在地图标记上。 我想告诉Google Maps API在地图中心显示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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM