Eu adicionei um ponto no mapa como este, mas é estático em tamanho.
Como redimensionar esse ponto no zoom?
Mapa com menos zoom
fonte
Eu adicionei um ponto no mapa como este, mas é estático em tamanho.
Como redimensionar esse ponto no zoom?
Mapa com menos zoom
O redimensionamento , como o @Mapperz mencionou, é provavelmente o caminho a percorrer.
Como alternativa, se você tiver muitos pontos, em vez de percorrer todos os pontos que os redimensionam, poderá alterar o pointRadius
estilo da camada no zoom do mapa para que a alteração ocorra com todos os recursos em uma chamada. Não posso dizer com certeza qual é o melhor desempenho, mas imagino que a mudança de estilo mudaria se houver muitos pontos.
O método de estilo tem desvantagens, pois não possui tantas opções quanto o redimensionamento (escala, origem, proporção), é apenas um raio.
Redimensionar recursos programaticamente usando o Openlayers v2.12
map.addLayer(vectorLayer);
map.setCenter(new OpenLayers.LonLat(point.x, point.y), 5);
vectorLayer.addFeatures([pointFeature, lineFeature, polygonFeature]);
}
var origin = new OpenLayers.Geometry.Point(-111.04, 45.68);
function resizeFeatures(scale) {
pointFeature.geometry.resize(scale, origin);
lineFeature.geometry.resize(scale, origin);
polygonFeature.geometry.resize(scale, origin);
vectorLayer.redraw();
}
http://dev.openlayers.org/releases/OpenLayers-2.12/examples/resize-features.html Visualizar> fonte
Você pode usar um estilo que calcule o raio do ponto, dependendo do nível de zoom do mapa:
fonte