Как позвонить из LatLngToDivPixel в Google Maps API V3?

Если вы не используете «стили», вы можете иметь статическое текстовое поле (без текста) или прямоугольник с цветом фона, который вам нужен, перекрывая текстовое поле с данными и устанавливая printWhenExpression в $V{report_COUNT}%2 == 1 ИЛИ $V{report_COUNT}%2 == 0

33
задан TMS 23 April 2012 в 08:30
поделиться

2 ответа

Чтобы получить MapCanvasProjection, вы можете унаследовать класс от OverlayView и вызвать метод getProjection (), который возвращает тип MapCanvasProjection

onAdd ( ), draw () и onRemove () должны быть реализованы для наследования от OverlayView.

function MyOverlay(options) {
    this.setValues(options);

    var div = this.div_= document.createElement('div');

    div.className = "overlay";
};

// MyOverlay is derived from google.maps.OverlayView
MyOverlay.prototype = new google.maps.OverlayView;

MyOverlay.prototype.onAdd = function() {

    var pane = this.getPanes().overlayLayer;
    pane.appendChild(this.div_);

}

MyOverlay.prototype.onRemove = function() {
    this.div_.parentNode.removeChild(this.div_);
}

MyOverlay.prototype.draw = function() {
    var projection = this.getProjection();
    var position = projection.fromLatLngToDivPixel(this.getMap().getCenter());

    var div = this.div_;
    div.style.left = position.x + 'px';
    div.style.top = position.y + 'px';
    div.style.display = 'block';
};

тогда, когда вы создаете карту

var OverLayMap = new MyOverlay( { map: map } );

Для V2 у вас должна быть возможность вызывать fromLatLngToDivPixel из вашего экземпляра GMap2

var centerPoint = map.fromLatLngToDivPixel(map.getCenter());
9
ответ дан 27 November 2019 в 17:33
поделиться
var map;
// Create your map
MyOverlay.prototype = new google.maps.OverlayView();
MyOverlay.prototype.onAdd = function() { }
MyOverlay.prototype.onRemove = function() { }
MyOverlay.prototype.draw = function() { }
function MyOverlay(map) { this.setMap(map); }
var overlay = new MyOverlay(map);
var projection = overlay.getProjection();
13
ответ дан 27 November 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: