Como adicionar recursos vetoriais a um mapa do openlayers 3
OpenLayers é uma poderosa ferramenta jаvascript que nos permite criar e exibir todos os tipos de mapas em um site. Este artigo irá guiá-lo para adicionar um recurso de ponto e um recurso de uma linha, depois transformar suas projeções para usar coordenadas e adicionar alguma cor definindo o estilo da camada.
Por favor, note que você precisa ter um mapa OpenLayers de trabalho instalado em uma página da Web para seguir este artigo. Se você não tem um, veja como fazer um mapa usando o OpenLayers 3.
Passos
elemento:
.var point_feature = novo ol.Característica({ })-
var point_geom = novo ol.geom.Point ([20, 20]) - Point_Feature.Setençãoometria (Point_Geom)-
var linestring_feature = novo ol.Recurso ({geometria: novo ol.geom.Linestring ([10, 20], [20, 10], [30, 20])}))-
var vector_layer = novo ol.camada.Vetor ({source: novo ol.fonte.Vector ({Recursos: [Point_Feature, Linestring_Feature]})}) Mapa.Addlayer (vector_layer)-
Como em qualquer poderoso software de mapeamento, os mapas do OpenLayers podem ter diferentes camadas com maneiras diferentes de exibir informações. Porque a Terra é um globo e não apartamento, quando tentamos exibi-lo em nossos mapas planos, o software tem que ajustar os locais para corresponder ao mapa plano. Essas maneiras diferentes de exibir informações do mapa são chamadas projeções. Usar uma camada de vetor e uma camada de azulejos juntos no mesmo mapa significa que temos que transformar as camadas de uma projeção para outra.
Var Características = [Point_Feature, Linestring_Feature]-
Função Transform_geometry (elemento) {Var Current_Projection = NOVO OL.proj.Projeção ({código: "EPSG: 4326"}) - var new_projejection = Tile_Layer.getsource ().getprojejection () - elemento.getgeometry ().Transformar (Current_Projejection, New_Projejection) -) -}
recursos.foreach (transform_geometry)-
Para alterar o que cada recurso no mapa parece, precisamos criar e aplicar um estilo. Os estilos podem alterar cores, tamanhos e outros atributos de pontos e linhas, e eles também podem exibir imagens para cada ponto, que é muito útil para mapas personalizados. Esta seção não é necessária, mas é divertida e útil.
var preenchimento = novo ol.estilo.Preencher ({cor: [180, 0, 0, 0.3]}) - Var Stroke = novo OL.estilo.Acidente vascular cerebral ({cor: [180, 0, 0, 1], largura: 1})-
var estilo = novo ol.estilo.Estilo ({Image: Novo Ol.estilo.Circle ({preenchimento: preenchimento, curso: acidente vascular cerebral, raio: 8}), preencha: Preenchimento, curso: Stroke}) - Vector_Layer.setstyle (estilo)-
