Eu usei o Google Maps algumas vezes, mas o que eu quero saber sobre o OpenLayers .
Antes de iniciar qualquer tipo de codificação, aqui estão algumas perguntas que vêm à minha mente,
- Por que eu usaria o OpenLayers em vez do Google Maps?
- Exceto por sua licença OSS, de qualquer maneira
- Você encontrou alguma situação em que recomendaria absolutamente não usar o OpenLayers?
- Eu fiz uma pesquisa sobre "OpenLayers" no Stack Overflow ; não há muitas respostas. Isso significa que esta solução não é muito usada? Poderia ser um problema para a viabilidade a longo prazo do projeto?
- Para aqueles que já usaram o OpenLayers: existem armadilhas / problemas comuns que posso encontrar?
- Que tal usar um Framework JavaScript com ele? Eu já vi ele usando Prototype , e eu sei Prototype, então tudo bem. Mas e quanto a usar outra coisa como o MooTools ? (Que não é compatível com Prototype, BTW)
- Existe algum tipo de problemas relacionados à velocidade e desempenho? Preciso que meu aplicativo seja responsivo e não posso esperar horas para exibir um mapa.
- Existem mapas disponíveis para muitos lugares ou faltam muitos?
- Ou seja, estou na França e preciso que meu aplicativo funcione pelo menos para grandes cidades ... Tudo bem?
- caso contrário, é fácil encontrar camadas e visualizações para o OpenLayers e integrá-las?
- Existe algum tipo de API para exibir estradas?
- Por exemplo, para mostrar estradas que são apenas de sentido único.
- Se sim, como posso fazer isso? Preciso ter algum tipo de arquivo que contenha essas informações de estradas e, então, exibi-las no mapa sozinho?
- Você conhece algum bom tutorial para o OpenLayers?
Eu ainda não tentei, essas são perguntas fora do comum ...
javascript
google-maps
openlayers
Pascal MARTIN
fonte
fonte
Respostas:
Essas são realmente ótimas perguntas! Sou um desenvolvedor e fã profissional de OpenLayers, portanto, abordarei suas perguntas dessa perspectiva.
Por que eu usaria o OpenLayers em vez do Google Maps?
Eu não me preocuparia com a viabilidade a longo prazo do projeto. É a principal biblioteca de mapeamento de código aberto do lado do cliente.
Existem armadilhas / problemas comuns que posso encontrar?
Compatibilidade com JavaScript Framework
Existem mapas disponíveis para muitos lugares?
Existe algum tipo de API para exibir estradas?
Você conhece algum bom tutorial para o OpenLayers?
Espero que isso seja útil. E estou perto do Stack Overflow, se você tiver alguma dúvida!
fonte
Não é necessariamente uma questão de OpenLayers OU Google Maps. Afinal, você pode usar o Google Maps para o fundo do seu mapa no OpenLayers. Algumas respostas mais específicas:
Por que OpenLayers?
Armadilhas
atuação
Estruturas JavaScript
Mapas disponíveis
fonte
Eu não vi muita presença de usuários OpenLayers no SO, mas eles estão por aí. As listas de discussão do OpenLayers são bastante ativas (estou no Users e Dev e vejo de 50 a 100 e-mails por dia discutindo várias coisas. Você também pode pesquisar nas listas nesses links.).
Não posso responder a todas as suas perguntas, mas uma coisa que vou colocar lá é que o OpenLayers e o google maps não são mutuamente exclusivos. OpenLayers é uma biblioteca javascript e você pode usá-lo para interagir com o google maps. Confira este exemplo: OpenLayers usando o google maps . E aqui está a página principal de exemplos do OpenLayers .
fonte
Um ponto que ainda não foi totalmente esclarecido aqui é que o uso do OpenLayers evita várias restrições que o Google impõe aos termos de serviço para suas APIs de mapas, incluindo:
Você não pode legalmente usar um mapa do Google apenas em uma seção do seu site que exija pagamento para acessar ou para um site privado que o público não possa se inscrever (por exemplo, uma intranet corporativa). (IANAL, mas consulte os Termos de Serviço, 9.1 e as Perguntas frequentes )
Você não pode legalmente (ou praticamente) usar a API do Google para aplicativos offline (por exemplo, onde os blocos são veiculados em sua própria máquina). Mesmo que não houvesse restrições legais, o Google torna isso tecnicamente muito difícil, enquanto o OpenLayers facilita.
O Google se reserva o direito de interromper o acesso à API se você estiver mostrando um mapa com conteúdo que ele julgar questionável. O exemplo dado nas Perguntas frequentes é um mapa de drogas ilegais, que fornece uma boa noção das áreas cinzentas que essa restrição pode cobrir.
Consulte esta FAQ e os Termos de Serviço para obter mais detalhes.
Tudo isso dito, como desenvolvedor de longa data do Google Maps que recentemente começou a usar o OpenLayers, sinto que o Google Maps tem uma documentação melhor, uma comunidade maior de usuários e uma API mais clara e mais estável do que o OpenLayers. Então você tem que fazer uma troca em algum lugar.
fonte
Realmente depende para o que você deseja usar o mapa. Para simplesmente plotar pontos em um mapa, o Google Maps ficará bem. As camadas do mapa para o Google Maps também são bastante detalhadas. O OpenLayers, por outro lado, oferece muito mais funcionalidade e é muito extensível.
O OpenLayers tem muitos exemplos para você começar.
Quanto aos mapas, o OpenLayers é apenas uma API, então você precisa fornecê-lo para mapear as camadas. A API do Google Maps será limitada às camadas de mapa fornecidas pelo Google. Com o OpenLayer, você pode exibir praticamente qualquer serviço de mapa disponível ao público (WMS, WFS, TMS, WMS-C). Um exemplo muito bom é openstreetmap.org - (mapa de ruas global coletado pela comunidade). O OSM pode ser adicionado aos openlayers como uma camada TMS. Confira este exemplo para obter instruções.
fonte
Alguns clientes podem recusar ou ter fortes reservas sobre o uso do Google Maps. Eles podem ter preocupações válidas de que o Google possa introduzir publicidade ou alterar a API sem aviso prévio. No entanto, o Google Maps tem o benefício de integrar-se com outros serviços do Google (marcadores, adição de fotos, serviços de geocodificação). Como é a Web, você sempre pode combinar muitos serviços e APIs de mapeamento diferentes.
fonte
Eu concordo com todas as respostas, mas há um ponto muito importante que ninguém menciona. OpenLayers e Google Maps têm alvos diferentes.
O OpenLayer é uma excelente estrutura para exibir dados geográficos, mas o Google Maps é um conjunto de serviços que inclui uma estrutura para exibir dados geográficos entre outros serviços.
Portanto, o Google Maps expõe muitos serviços e recursos que o OpenLayes não possui. Alguns exemplos de recursos e serviços do Google Maps são localização de região, detecção de sensor (para dispositivo com GPS) e localização de usuário, geocodificação e geocodificação reversa, street view etc.
fonte
Eu usei as duas APIs. Eu faço um software para empresas e esse software requer mapeamento, mas nem todos os clientes possuem uma licença do GoogleMaps, por isso preciso oferecer suporte aos dois tipos de mapas.
Eu criei uma API comum para abstrair as diferenças entre elas e deixe-me dizer, algumas coisas são mais fáceis de fazer em uma do que na outra. Como limitar os limites de onde você pode mover o mapa, é muito mais fácil fazer no OpenLayers, mas os mapas de calor são mais fáceis de usar no GoogleMaps (é oficialmente suportado pelo Google, ao contrário dos plugins disponíveis do OpenLayers).
Os OpenLayers suportam mapas offline. Alguns dos meus usuários estão em intranets privadas sem conexão à Internet.
GoogleMaps tem dois plugins absolutamente deve ter, MarkCluster e Spiderfier que possibilita a visualização de um grande número de marcadores.
O InfoMindows do GoogleMaps é mais fácil de usar e tem melhor usabilidade do que os OpenLayers.Popups. Estas são as pequenas janelas que podem ser abertas quando você clica em um marcador. O InfoWindows do Googlemaps também é muito mais bonito por padrão, você precisa executar algumas tarefas de CSS com os Popups.
O GoogleMaps tem streetview, que às vezes é útil.
O GoogleMaps possui mais recursos que você pode precisar. Embora muitos recursos também estejam presentes no OpenLayers, mas não oficialmente suportados.
Geralmente, no final, você deve usar o OpenLayers devido à dor de cabeça reduzida que você pode obter com o licenciamento e o uso de largura de banda no googlemaps. Ambos lidam muito bem com o mapeamento básico (ou seja, exibindo marcadores no topo de um mapa). A menos que você possa encontrar um recurso específico necessário, de um que não esteja presente no outro, você deve procurar o OpenLayers. Veja isso para obter mais informações sobre o faturamento do googlemaps e quando você pode usá-lo gratuitamente.
Além disso, o GoogleMaps tem seu tipo básico de geolocalização como 'LatLng' e o Openlayers usa 'LonLat', o que me deixa louca, porque eu continuo confundindo a ordem dos parâmetros nas chamadas de função.
fonte
Além daqueles que mencionaram problemas de velocidade, gostaria de acrescentar que o renderizador VML do IE pode ficar muito lento com uma camada vetorial com muitos recursos. Um usuário mencionou cerca de 200. Isso é exatamente o que posso adicionar antes que o IE diminua consideravelmente até o ponto de congelamento. Se você adicionar recursos que sejam rótulos de texto, poderá adicionar metade menos, provavelmente porque internamente cada rótulo de texto consiste em dois elementos VML.
No Google, você pode criar um GOverlay personalizado, cujo conteúdo é uma "div", que é renderizada sem problemas no IE.
fonte
Gostaria de acrescentar duas coisas, de duas perspectivas: uso do cliente e desvio de dados.
Uso do cliente:
Publicação de dados:
Você está servindo dados KML ? Nesse caso, o OpenLayers e o Google Maps trabalharão com ele, e você provavelmente precisará decidir com base no uso do cliente.
Você está servindo outros tipos de serviços de dados? (WMS, WFS, CSV, etc.) Nesse caso, é provável que o OpenLayers tenha exemplos e suporte.
fonte
O OL tem uma grande base de fãs e é talvez o item de código aberto mais usado no mundo.
Você não vê muitos tópicos e postagens sobre isso neste ciberespaço porque as pessoas aqui tendem a discutir outros tipos de técnicos, como JSF e Mobile (não geográfico), não porque OL é como suportes.
No entanto, o Ol tem algumas desvantagens, principalmente por ser um nível tão baixo que você precisa escrever muito código para fazer operações comuns. Isso também pode funcionar da maneira certa, porque como desenvolvedor a: você tem todo o código adiantado eb: ajustar e personalizar é muito fácil.
Existem ferramentas geográficas gratuitas mais sofisticadas, mas tudo o que eles fazem é chamar de openlayers e abstrair algumas das tarefas mais chatas.
Portanto, use-o com confiança. É maduro, robusto e não vai morrer em um futuro próximo. No entanto, se você deseja acelerar o processo de desenvolvimento, tente as outras ferramentas que são montadas em cima dele.
tenha um bom dia
fonte