J'ai utilisé Google Maps à quelques reprises, mais il n’ya pas lieu de s’interroger sur OpenLayers .
Avant de commencer tout type de codage, voici quelques questions qui me viennent à l’esprit,
Je n'ai pas encore essayé, ce ne sont que des questions hors de propos ...
Ce sont vraiment de bonnes questions! Je suis un développeur et fan professionnel d'OpenLayers, je vais donc répondre à vos questions dans cette perspective.
Pourquoi utiliser OpenLayers au lieu de Google Maps?
Je ne m'inquiéterais pas du tout de la viabilité à long terme du projet. Il s'agit de la première bibliothèque de mappage open source côté client.
Existe-t-il des pièges/problèmes courants que je pourrais rencontrer?
Compatibilité du framework JavaScript
Y a-t-il des cartes disponibles pour de nombreux endroits?
Existe-t-il un type d’API pour afficher les routes?
Connaissez-vous un bon tutoriel pour OpenLayers?
J'espère que c'est utile. Et je suis autour de Stack Overflow si vous avez des questions!
Ce n'est pas nécessairement une question d'OpenLayers OR Google Maps. Vous pouvez enfin utiliser Google Maps comme fond de carte dans OpenLayers. Quelques réponses plus spécifiques:
Pourquoi OpenLayers?
Pièges
Performance
Framework JavaScript
Cartes disponibles
Les utilisateurs d’OpenLayers ne sont pas très présents sur SO mais ils sont disponibles. Les listes de diffusion OpenLayers sont assez actives (je suis sur - tilisateurs et Dev et consultez entre 50 et 100 e-mails par jour pour discuter de diverses choses. Vous pouvez également rechercher les listes à partir de ces liens.).
Je ne peux pas répondre à toutes vos questions, mais je vais vous expliquer que OpenLayers et Google Maps ne s’excluent pas mutuellement. OpenLayers est une bibliothèque javascript que vous pouvez utiliser pour interagir avec Google Maps. Découvrez cet exemple: OpenLayers utilisant Google Maps . Et voici la principale page des exemples OpenLayers .
Un point qui n’a pas été pleinement expliqué ici est que l’utilisation d’OpenLayers évite diverses restrictions imposées par Google sur les conditions de service de ses API de carte, notamment:
Vous ne pouvez pas utiliser légalement une carte Google uniquement dans une section de votre site qui nécessite un paiement pour y accéder, ou pour un site privé auquel le public ne peut pas accéder (par exemple, un intranet d'entreprise). (IANAL, mais voir Conditions d'utilisation, 9.1 et la FAQ )
Vous ne pouvez pas légalement (ou pratiquement) utiliser l'API Google pour des applications hors connexion (c'est-à-dire où les vignettes sont servies à partir de votre propre ordinateur). Même s'il n'y avait pas de restrictions légales, Google rend cela très difficile techniquement, alors qu'OpenLayers facilite les choses.
Google se réserve le droit de fermer l'accès à l'API si vous affichez une carte dont le contenu est inacceptable. L'exemple donné dans la FAQ est une carte des drogues illicites, qui donne une bonne idée des zones d'ombre que cette restriction pourrait couvrir.
Voir cette FAQ et les Conditions d'utilisation pour plus de détails.
Cela dit, en tant que développeur de longue date de Google Maps qui a récemment commencé à utiliser OpenLayers, j’ai le sentiment que Google Maps dispose d’une meilleure documentation, d’une communauté d’utilisateurs plus étendue et d’une API plus claire et plus stable que OpenLayers. Vous devez donc faire un compromis quelque part.
Cela dépend vraiment de ce que vous voulez utiliser la carte. Pour tracer simplement des points sur une carte, Google Maps ira bien. Les couches de carte pour Google Maps sont également assez détaillées. OpenLayers, d’autre part, offre beaucoup plus de fonctionnalités et est très extensible.
OpenLayers propose de nombreux exemples pour vous aider à démarrer.
En ce qui concerne les cartes, OpenLayers n’est qu’une API, vous devez donc fournir les couches de carte. L'API de Google Maps sera limité aux couches de carte fournies par Google. Avec OpenLayer, vous pouvez afficher à peu près tous les services de carte disponibles au public (WMS, WFS, TMS, WMS-C). Openstreetmap.org carte globale des rues collectée par la communauté) est un très bon exemple. OSM peut être ajouté aux couches ouvertes en tant que couche TMS. Découvrez ceci --- (exemple pour obtenir des instructions.
Je suis d'accord avec toutes les réponses, mais il y a un point très important que personne ne mentionne. OpenLayers et Google Maps ont des cibles différentes.
OpenLayer est un excellent cadre pour afficher des données géographiques, mais Google Maps est un pool de services qui inclut un cadre permettant d’afficher des données géographiques entre d’autres services.
Ainsi, Google Maps expose de nombreux services et fonctionnalités qu'OpenLayes ne possède pas. Parmi les exemples de fonctionnalités et services de Google Maps, citons la localisation de régions, la détection de capteurs (pour les appareils avec GPS) et la localisation d’utilisateurs, le géocodage et le géocodage inversé, la vue sur la rue, etc.
Certains clients peuvent refuser ou avoir de fortes réserves quant à l'utilisation de Google Maps. Ils craignent peut-être que Google introduise de la publicité ou modifie l'API sans préavis. Toutefois, Google Maps présente l'avantage de s'intégrer à d'autres services Google (repères, ajout de photos, services de géocodage). En tant que site Web, vous pouvez toujours combiner de nombreux services de cartographie et API.
J'ai utilisé les deux API. Je crée un logiciel pour les entreprises et ce logiciel nécessite une cartographie, mais tous les clients ne disposent pas d'une licence GoogleMaps. Je dois donc prendre en charge les deux types de cartes.
J'ai créé une API commune pour résumer les différences entre elles et laissez-moi vous dire que certaines choses sont plus faciles à faire dans l'une que dans l'autre. Comme pour limiter les limites de la carte, il est beaucoup plus facile de le faire dans OpenLayers, mais les cartes thermiques sont plus faciles à utiliser sur GoogleMaps (elles sont officiellement prises en charge par Google, contrairement aux plug-ins OpenLayers disponibles).
OpenLayers supporte les cartes hors ligne. Certains de mes utilisateurs sont dans des intranets privés sans connexion Internet.
GoogleMaps a deux plugins indispensables, MarkCluster et Spiderfier qui rend possible visualiser un grand nombre de marqueurs.
GoogleMaps InfoWindows est plus facile à utiliser et offre une meilleure convivialité que OpenLayers.Popups. Ce sont les petites fenêtres qui peuvent s'ouvrir lorsque vous cliquez sur un marqueur. Les InfoWindows de Googlemaps sont également beaucoup plus jolis par défaut, vous devez faire des exercices de CSS avec les Popups.
GoogleMaps a streetview qui est utile parfois.
GoogleMaps a plus de fonctionnalités dont vous pourriez avoir besoin. Bien que de nombreuses fonctionnalités soient également présentes dans OpenLayers, mais ne sont pas officiellement prises en charge.
En règle générale, vous devriez utiliser OpenLayers à la fin, en raison de la diminution du mal de tête que vous pourriez avoir avec les licences et l'utilisation de la bande passante de googlemaps. Les deux gèrent très bien la cartographie de base (affichage de marqueurs au-dessus d'une carte). À moins que vous ne trouviez une fonctionnalité spécifique dont vous avez besoin parmi celles qui ne sont pas présentes sur l'autre, vous devriez opter pour OpenLayers. Voir this pour plus d'informations sur la facturation de googlemaps et sur le moment où vous pouvez l'utiliser gratuitement.
De plus, GoogleMaps a son type de base de géolocalisation "LatLng" et Openlayers utilise "LonLat", ce qui me rend fous parce que je continue à me tromper dans l'ordre des paramètres dans les appels de fonctions.
J'ajouterais deux choses, de deux points de vue: l'utilisation du client et la consultation des données.
Utilisation du client:
Serveur de données:
Êtes-vous au service de KML ? Si tel est le cas, OpenLayers et Google Maps fonctionneront avec, et vous devrez probablement décider en fonction de l'utilisation du client.
Êtes-vous au service d'autres types de services de données? (WMS, WFS, CSV, etc.) Si oui, alors OpenLayers a très probablement des exemples et une prise en charge.
Outre ceux qui ont mentionné des problèmes de vitesse, j'aimerais ajouter que le rendu VML d'IE peut être très lent avec un calque vectoriel comportant de nombreuses fonctionnalités. Un utilisateur a mentionné environ 200. C'est à peu près exactement ce que je peux ajouter avant IE ralentit considérablement au point de geler. Si vous ajoutez des fonctionnalités qui sont des étiquettes de texte, vous pouvez en ajouter moitié moins, probablement parce que en interne, chaque étiquette de texte est composée de deux éléments VML.
Dans Google, vous pouvez créer un GOverlay personnalisé dont le contenu est un "div", qui est restitué sans problème dans IE.
OL a une base de fans importante et est peut-être l’un des vêtements les plus utilisés dans le monde.
Vous ne voyez pas beaucoup de sujets et de messages à ce sujet dans cette cyberplace, car les gens ici ont tendance à discuter d'autres types de technologies, telles que JSF et Mobile (non-géo), non pas parce que OL est comme struts.
Cependant, Ol a quelques inconvénients, principalement parce que son niveau est si bas que vous devez écrire beaucoup de code pour faire des opérations courantes. Cela peut aussi fonctionner dans le bon sens, car en tant que développeur, vous avez tout le code à l’avance et b: modifier et personnaliser est très simple.
Il existe des géotools gratuits plus sophistiqués, mais ils ne font qu'appeler des openlayers et résumer certaines des tâches les plus ennuyeuses.
Alors utilisez-le avec confiance. Il est mature, robuste et ne mourra pas dans un avenir prévisible. Toutefois, si vous souhaitez accélérer votre processus de développement, vous devriez essayer les autres outils qui s'y trouvent.
bonne journée