Google Maps JavaScript API, как центрировать карту в информационном блоке - PullRequest
1 голос
/ 07 февраля 2012

Если у меня есть инфобокс на картах 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 закреплен на маркере карты.Я хотел бы сказать API карт Google, чтобы в центре карты отображался маркер.Спасибо.

1 Ответ

0 голосов
/ 07 февраля 2012
map.setCenter(lat_lon) 

... будет в центре на месте.Если вы хотите сосредоточиться на RichMarker, вам нужно будет кое-что вычислить, получив центр ContainerPixel или DivPixel в RichMarker, а затем используя ...

MapCanvasProjection.fromContainerPixelToLatLong(pixel:Point) or MapCanvasProjection.fromDivPixelToLatLng(pixel:Point) to center on that using map.setCenter(MapCanvasProjection.fromDivPixelToLatLng(pixel:Point)), for example.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...