Suite

Infobox non fixée au marqueur lorsque Google Map est enveloppé (sur zoom 0,1,2)


J'utilise une infobox personnalisée qui est fixée à la position du marqueur. Tout va bien (voir capture d'écran 1) jusqu'à ce que la carte atteigne le zoom 3 ou moins, précisément, lorsque la carte est encapsulée. L'infobox n'est plus fixée au marqueur et elle est déplacée de quelques pixels à gauche du marqueur (voir capture d'écran 2).

Capture d'écran 1

Capture d'écran 2

J'utilise le code suivant pour convertir la position du marqueur (LatLng) en points "XY" (voir le code) et pour fixer l'infobox personnalisée au marqueur.

var échelle = Math.pow(2, map.getZoom()); var nw = new google.maps.LatLng( map.getBounds().getNorthEast().lat(), map.getBounds().getSouthWest().lng() ); var worldCoordinateNW = map.getProjection().fromLatLngToPoint(nw); /** * [@marker_position] - La position (LatLng) du marqueur */ var worldCoordinate = map.getProjection().fromLatLngToPoint(marker_position); var pixelOffset = new google.maps.Point( Math.floor((worldCoordinate.x - worldCoordinateNW.x) * échelle), Math.floor((worldCoordinate.y - worldCoordinateNW.y) * échelle) ); /** * [@mapPosition] - Ceci obtiendra la position de la carte sur l'écran */ var mapPosition = jQuery('div.mapContainer').position(); var infobox_half_width = jQuery('div.infobox').width() / 2; var margin_top = marker_icon_height + jQuery('div.infobox').height(); /** * Définir la position de l'infobox sur la carte. * [@left] - La position du marqueur (Horizontalement) SELON la position gauche de la carte sur l'écran. * [@top] - La position du marqueur (Verticalement) SELON la position supérieure de la carte sur l'écran. * [@margin-left] - Déplace l'infobox de 50% de sa taille vers la gauche. * [@margin-top] - Déplacez la carte vers le haut du marqueur (Selon la taille de l'image du marqueur). */ jQuery('div.infobox').css({'left':(pixelOffset.x + mapPosition.left + 'px'), 'top':(pixelOffset.y + mapPosition.top + 'px'), 'margin-left':('-' + infobox_half_width + 'px'), 'margin-top':('-'+margin_top+'px') }).fadeIn('slow');

Ce que je veux, c'est garder l'infobx fixé à son marqueur même lorsque la carte est encapsulée.

Je pense que le problème est dans cette partie du code (voir code ci-dessous) mais je ne sais pas comment l'adapter pour maintenir l'infobox fixée à son marqueur lorsque la carte est encapsulée. Le code a besoin de quelque chose (dans les calculs) pour dire à la carte de calculer la position de l'infobox par rapport aux limites de la partie complètement visible du monde. Quelqu'un a-t-il une idée sur la façon de résoudre ce problème?

var échelle = Math.pow(2, map.getZoom()); var nw = new google.maps.LatLng( map.getBounds().getNorthEast().lat(), map.getBounds().getSouthWest().lng() ); var worldCoordinateNW = map.getProjection().fromLatLngToPoint(nw); /** * [@marker_position] - La position (LatLng) du marqueur */ var worldCoordinate = map.getProjection().fromLatLngToPoint(marker_position); var pixelOffset = new google.maps.Point( Math.floor((worldCoordinate.x - worldCoordinateNW.x) * échelle), Math.floor((worldCoordinate.y - worldCoordinateNW.y) * échelle) );

Remarque : je ne voulais pas utiliser la superposition GMaps pour créer l'infobox juste pour éviter le chargement lent de la carte lorsqu'il y a trop de marqueurs. Je l'ai déjà essayé avec plus de 600 marqueurs (marqueurs + superpositions affichées par défaut) et le chargement prend trop de temps. La création d'infobox personnalisées en dehors de la carte et l'utilisation de ce code pour fixer chaque infobox à son marqueur ont eu un impact positif sur la vitesse de chargement.


Avec l'EnsemblepixelDécalagevous pouvez déplacer en pixels votre infobox en partant du haut à gauche, mais ce ne sera pas le même pour chaque infobox.

Donc si vous définissezalignBasàvrai,pixelDécalagesera déplacé du bas à gauche et toutes les infobox auront le même déplacement.

Gardez à l'esprit que si la largeur de vos infobox est différente, vous devrez calculer votre pixelOffset de manière dynamique.

Exemple:

var htmlInfoWindow = new InfoBox({ content : "", closeBoxURL : "", position : marker.getPosition(), pixelOffset : new google.maps.Size(-100, -250), alignBottom: true });

Composant Google Map

Un aperçu du composant Google Map et de ses propriétés. Comprend un certain nombre d'exemples et de guides.

Introduction

Lorsque vous souhaitez présenter des informations sur l'emplacement, la meilleure interface utilisateur est souvent une carte. Dans Alpha Anywhere, vous pouvez utiliser des composants cartographiques dans vos pages Web aussi facilement que vous utilisez des grilles.

Notre composant de carte dépend de l'API JavaScript de Google Maps. L'API JavaScript Maps V3 est un service gratuit, disponible pour tout site Web gratuit pour les consommateurs. Veuillez consulter les conditions d'utilisation pour plus d'informations. Si vous ne remplissez pas les conditions d'utilisation, vous pouvez utiliser le service Google Maps API Premier avec le composant Alpha Google Map, comme expliqué dans les propriétés de Google Map ci-dessous, une fois que vous avez obtenu une licence pour un identifiant client de Google.

Les cartes sont basées sur des emplacements, spécifiés par la latitude et la longitude. Dans une base de données géographique, un emplacement est un type de données consultable : voir Bases de données géographiques.

La détermination d'une latitude et d'une longitude à partir d'une adresse s'appelle géocodage. La détermination de la position actuelle de l'utilisateur est appelée géolocalisation. Notre composant cartographique utilise le service gratuit Nominatim pour le géocodage par défaut, ou Google Maps API Premier si vous disposez d'une licence. Notre composant cartographique peut éventuellement utiliser la géolocalisation HTML 5 sur les navigateurs pris en charge, ce qui fonctionne mieux sur les appareils mobiles.

En plus d'utiliser le composant Google Map par lui-même, vous pouvez le lier à une grille, le placer dans une interface utilisateur à onglets, le placer dans un composant de mise en page et l'appeler à partir d'Action JavaScript. Le composant Google Map fonctionne dans les applications de bureau ainsi que dans les applications Web. L'image ci-dessous est un composant Google Map avec des options par défaut s'exécutant en mode Aperçu de travail, c'est-à-dire sur le bureau.

Création d'un composant Google Map

Dans le panneau de configuration des projets Web, créez un nouveau fichier, sélectionnez Nouveau composant , sélectionnez Google Map et appuyez sur OK . Basculez vers le panneau Propriétés.

Les événements côté serveur et côté client peuvent être utilisés pour configurer le composant Google Map lorsqu'il est affiché.

Les propriétés du composant Google Map sont utilisées pour configurer le composant, y compris sa vue initiale, la prise en charge SSL, le style personnalisé et plus encore.

Définition des propriétés du composant Google Map dans l'interface utilisateur

Voir Propriétés du composant Google Map pour une liste des propriétés disponibles pour la configuration d'un composant Google Map.

Fonctions JavaScript

Aucune fonction JavaScript modifiable par l'utilisateur n'a été définie par défaut dans le composant Google Map. Cette zone est un bon endroit pour mettre de nouvelles fonctions JavaScript que vous souhaitez appeler à partir d'événements HTML. Les fonctions créées ici peuvent utiliser les méthodes et propriétés JavaScript du composant, ainsi que les méthodes et propriétés des objets de l'API Google Maps qui sont stockés dans les propriétés JavaScript du composant.

Fonctions de base

Une fonction Xbasic modifiable par l'utilisateur a été définie par défaut.

Les fonctions de rappel peuvent renvoyer JavaScript à exécuter par le composant.

Vous pouvez également ajouter d'autres fonctions Xbasic ici, à la fois des fonctions de rappel et des fonctions appelées à partir d'événements côté serveur.

Événements côté serveur et côté client

Voir Événements du composant Google Map pour plus d'informations sur les événements côté serveur et côté client dans un composant Google Map.

Lier une carte à une grille

Suivez cette recette pour faire apparaître une carte pour afficher un emplacement à partir d'une ligne de grille.

Créer un nouveau composant Google Map

Modifiez le HTML de la barre d'outils et supprimez tout ce qui est défini, car nous ne voulons pas de barre d'outils

Changer le nombre maximum de points à 1

Dans l'action du bouton, ajoutez une nouvelle action à l'aide de l'action JavaScript pour ouvrir un composant Google Map

Choisissez la carte que vous venez d'enregistrer

Si votre grille comporte des champs de latitude et de longitude, liez-les aux arguments CenterLat et CenterLng

Si votre grille n'a pas de champs de latitude et de longitude, mais a un champ d'adresse, liez-le à l'argument CenterAddress. Le champ d'adresse doit être suffisamment complet pour le géocodage.

Liez éventuellement les arguments Titles et InfoText aux champs que vous souhaitez voir apparaître dans les affichages mouseOver et onClick du marqueur

Définissez la largeur et la hauteur de la fenêtre contextuelle à quelques pixels de plus que votre carte.

Créez un bouton d'action de barre d'outils lié au bouton d'action que vous venez d'enregistrer

Exécutez votre grille et ajustez vos paramètres pour être agréable

Voici ce que nous avons pu faire en suivant exactement cette recette avec une grille de base de données Airport. Cliquez sur la vignette pour la voir en taille réelle et appuyez sur la touche Retour arrière pour revenir à cette discussion.

Notez que pour obtenir les champs de latitude et de longitude dans cette grille, nous avons utilisé les expressions Portable SQL suivantes :

Si vous aviez des champs de ville, d'état et d'adresse séparés dans votre base de données, vous pourriez les concaténer dans une expression SQL. En général, cependant, il est préférable de géocoder les adresses une seule fois et de stocker l'emplacement dans la base de données, plutôt que de les géocoder à la volée chaque fois qu'elles sont consultées.

Utilisation d'une carte comme vue de grille alternative

Dans une grille comportant des champs de latitude et de longitude :

Vérifiez la propriété "A d'autres vues"

Ouvrez le générateur pour la définition de vues alternatives.

Ajouter une vue alternative de type Google Map

Créer des expressions pour la latitude et la longitude

Créez éventuellement des expressions pour le titre et la zone d'informations

Créez éventuellement une liste d'expressions pour les marqueurs dynamiques, ou sélectionnez une séquence d'images intégrée pour les marqueurs numérotés ou lettrés

Dans l'onglet Vue principale, configurez la façon dont vous souhaitez que la vue alternative s'affiche

Exécutez la grille et ajustez les paramètres pour qu'ils soient agréables

Nous avons obtenu la vue alternative ci-dessous en suivant la recette ci-dessus. Cliquez sur la vignette pour afficher l'image en taille réelle et appuyez sur la touche Retour arrière pour revenir à cette discussion.

Emplacements versus adresses pour le placement des marqueurs

Si vous avez une table avec des adresses plutôt que des emplacements, l'utiliser telle quelle entraînera une dégradation des performances d'exécution de votre grille, car chaque appel pour géocoder une adresse prend une fraction de seconde. Ceci est perceptible mais pas grave sur une page Web, car le géocodage se produit dans les rappels Ajax asynchrones et toutes vos adresses peuvent être géocodées en quelques secondes. Il est extrêmement lent lorsque vous exécutez un composant Google Map avec des marqueurs de masse définis par des adresses sur le bureau ou dans Working Preview, car les rappels Ajax pour le géocodage sont sérialisés : une carte avec 10 marqueurs de masse définis par des adresses peut prendre autant de temps que 10 secondes pour s'initialiser, assez longtemps pour qu'un utilisateur pense qu'il a planté.

Nous pouvons géocoder les adresses avec le service gratuit Nominatim ainsi qu'avec Google. Nominatim n'impose aucune limite de débit, mais prend une grande fraction de seconde pour retourner un emplacement géocodé. Nominatim semble fonctionner assez bien pour les adresses aux États-Unis et au Royaume-Uni, mais votre kilométrage peut varier. Nous avons eu des rapports selon lesquels Nominatim ne fonctionnait pas bien pour des langues et des lieux spécifiques, tels que les noms de lieux flamands en Belgique.

Google est le géocodage par défaut. Sachez toutefois que l'API gratuite de Google Maps est limitée à environ 6 tentatives de géocodage par seconde, après quoi elle cessera de donner des réponses. En pratique, cela impose une limite au nombre de lignes par page dans une grille qui utilise une carte basée sur des adresses plutôt que sur des emplacements.

Si vous êtes un client Google Premier Maps, cochez "Utiliser Google Maps Premier" et fournissez un identifiant client Google Premier Maps, puis nous géocodons les adresses avec Google Maps Premier, qui renvoie généralement un emplacement géocodé en 100 ms, même si vous avez sélectionné Nominatum , puisque Google Premier Maps est bien meilleur et plus rapide que Nominatum. (Pour 10 000 $ par an, cela devrait certainement être mieux.) Si vous avez un cas où cela présente un problème, faites-le nous savoir et nous changerons le comportement.

Si vous créez une carte qui prend sa position initiale à partir d'une adresse en utilisant Nominatim pour le géocodage et utilisez IE 9, ne soyez pas surpris si vous voyez un message sur la page "accéder à des informations qui ne sont pas sous son contrôle" dans Live Preview. Vous pouvez éliminer le message en desserrant les autorisations d'IE pour la zone intranet. Plus précisément, modifiez les paramètres de sécurité pour Intranet local|Personnalisé|Divers|Accès aux données sur les domaines pour Activer à partir de l'invite. L'utilisation de Google pour le géocodage n'entraîne pas l'affichage de ce message.

Si vous envisagez de déployer un site qui utilise Nominatim pour le géocodage et que vos utilisateurs envisagent d'utiliser IE 9, vous pouvez leur conseiller d'ajouter votre site à la liste des sites de confiance.

Si vous disposez d'une base de données avec des adresses que vous souhaitez utiliser comme base d'un composant Google Map, envisagez d'ajouter des emplacements à la table en tant que processus unique à l'aide d'une opération de géocodage en masse. Si vous devez ajouter des emplacements au fur et à mesure que les personnes saisissent des adresses dans votre grille, vous pouvez utiliser Action JavaScript pour géocoder la latitude et la longitude à partir de l'adresse.

Si vous devez stocker des objets d'emplacement Geography dans une base de données SQL compatible avec la géographie à des fins de recherche, vous pouvez utiliser la fonction SQL portable GeogCreateLocation pour construire l'objet d'emplacement à partir de la latitude et de la longitude, généralement dans l'événement onBeforeSQLCommandExecute pour les requêtes INSERT et UPDATE.

Si vous rencontrez des difficultés pour faire fonctionner le géocodage, testez les adresses individuelles sur http://nominatim.openstreetmap.org ou http://maps.google.com jusqu'à ce que vous obteniez le bon format. Plus l'adresse est complète, plus elle a de chances de coder correctement. De plus, délimiter les champs d'adresse par des virgules aide l'analyseur. Essayez l'adresse d'Alpha, "70 Blanchard Rd, Burlington, MA", comme un bon cas connu.

Utilisation de marqueurs dynamiques et de séquences de marqueurs étiquetés

Si vous souhaitez qu'une carte communique un attribut à chaque emplacement, vous pouvez utiliser des marqueurs dynamiques, ce qui signifie que le glyphe de marqueur utilisé à tout moment dépend d'une expression, telle que "ventes > 100000" ou "population>1000000" ou "élévation < 500" . Cette caractéristique de carte est similaire à la caractéristique d'image conditionnelle des grilles. Survolez chaque image pour la voir en taille réelle.

Si vous souhaitez pouvoir connecter visuellement des lignes de grille avec leurs marqueurs correspondants, vous pouvez utiliser des séquences de marqueurs étiquetées, ainsi que des séquences de marqueurs pour les images de grille. Ce comportement est similaire à ce que vous montrera une recherche d'entreprise sur Google Maps.

Si le nombre d'images dans la séquence est inférieur au nombre de marqueurs à afficher, tous les marqueurs supplémentaires utilisent le glyphe de marqueur par défaut.

Utilisation de la carte Google comme contrôle de recherche de grille

Dans une grille basée sur une base de données SQL dotée d'un champ Géographie, ajoutez le champ Géographie à la partie recherche de la grille et définissez-le sur un type de contrôle Carte. (Survolez chaque image pour la voir en taille réelle.)

Définissez les propriétés et testez le contrôle. Vous pouvez afficher les résultats dans la grille, dans une carte qui est une vue alternative à la grille et/ou dans la grille de recherche elle-même.

Personnalisation de votre composant Google Map

Le composant Google Map a été conçu pour plusieurs cas d'utilisation différents :

  • Une carte autour d'un point géographique fixe spécifié soit par la latitude et la longitude, soit par l'adresse
  • Une carte affichant un certain nombre de points géographiques fixes
  • Une carte qui permet à l'utilisateur de spécifier et d'afficher le centre et le rayon d'une recherche
  • Une carte qui permet à l'utilisateur de spécifier et d'afficher les points définissant un polygone pour une recherche
  • Une carte qui permet à l'utilisateur de spécifier et d'afficher une recherche, puis de voir les résultats de la recherche

Chacun de ces cas d'utilisation nécessite des contrôles légèrement différents, c'est pourquoi le HTML de la barre d'outils est exposé en tant que propriété. Les différents contrôles nécessitent un traitement légèrement différent, c'est pourquoi l'exemple de fonction de gestionnaire de rappel Xbasic Ajax TakeLatLng a été fourni sous une forme modifiable par l'utilisateur, et la fonction d'aide JavaScript computePostValues ​​a été fournie pour renvoyer tous les marqueurs fournis par l'utilisateur, le rayon et les états du cercle, du marqueur et du polygone s'affichent pour le rappel Ajax.

Comme vous l'avez vu, nous avons déjà fourni la personnalisation du composant Google Map pour la plupart de ces cas d'utilisation, en conjonction avec une grille. Vous êtes cependant libre de créer vos propres personnalisations en utilisant les événements, méthodes et propriétés exposés, à la fois côté client et côté serveur.


Dernières questions d'entretien sur le développement de l'API Google Maps

A. map.trafficLayer.setVisible(true)
B. map.addLayer(‘trafic’)
C. var trafficLayer = new google.maps.TrafficLayer() trafficLayer.setMap(map)
D. var trafficLayer = new google.maps.TrafficLayer() map.add(trafficLayer)

Quelle bibliothèque supplémentaire devez-vous charger si vous souhaitez ajouter une couche de heatmap à votre carte ?

A. la météo
B. lieux
C. visualisation
D. dessin

Pour un meilleur affichage de la carte sur les appareils mobiles, définissez la largeur et la hauteur du qui contient la carte sur :

Dans la syntaxe pour charger l'API JavaScript Google Maps, qu'indique le paramètre « sensor=true » ?

A. Utilisez le capteur météo à l'emplacement de la carte.
B. Utilisez le localisateur GPS pour déterminer l'emplacement de l'utilisateur.
C. Localisez les points de repère près de l'emplacement de la carte.
D. Afficher l'emplacement actuel de la caméra au niveau de la rue.

Si vous souhaitez monétiser votre application cartographique avec de la publicité display contextuelle, quelle bibliothèque devez-vous utiliser ?

A. AdSense
B. Panoramique
C. Lieux
D. Achats

Quel service peut être utilisé pour obtenir un LatLng à partir d'une adresse ?

A. Géocodeur
B. Géographie
C. Distance
D. Itinéraire

Quel objet de superposition peut être utilisé pour contenir du contenu HTML d'information ?

A. Bulle
B. Polygone
C. Marqueur
D. Fenêtre d'information

Lorsque vous créez une nouvelle carte, vous devez spécifier le zoom initial en tant qu'option de carte. Quelle est l'autre option de carte initiale requise ?

A. couleur de fond
B. inclinaison
C. styles
D. centre

Street View offre une vue panoramique sur :

A. 360 degrés
B. 90 degrés
C. 45 degrés
D. 180 degrés

Comment ajouter un écouteur d'événement de clic à une carte Google ?

A. map.listener.add('click', clickFunction)
B. google.maps.listener.add(carte, 'clic', clickFunction)
C. google.maps.event.addListener(carte, 'clic', clickFunction)
D. map.addListener.add(‘click’, clickFunction)

Lequel des éléments suivants n'est pas un MapType courant ?

A. FEUILLE DE ROUTE
B. TERRAINS
C. ÉLÉVATION
D. HYBRIDE

Vrai ou faux : l'API JavaScript Google Maps ne prend pas en charge le géocodage inversé (traduction d'un emplacement sur une carte en une adresse).

Lequel des éléments suivants devez-vous obtenir pour charger l'API JavaScript Google Maps pour une application non commerciale ?

A. Permis d'application temporaire
B. Licence d'application d'entreprise
C. Clé API
D. Clé cryptographique

Vrai ou faux : lorsque vous utilisez l'API JavaScript Google Maps, vous spécifiez normalement un

Élément HTML en tant que conteneur pour la carte.

Vrai ou faux : lors de l'utilisation de l'API JavaScript Google Maps, le contrôle MapType apparaît par défaut sur la carte.

Lequel des modes de déplacement suivants n'est pas pris en charge lorsque vous calculez des itinéraires ?

A. TRANSIT
B. CONDUITE
C. VELO
D. VOLER

Quels arguments doivent être passés à un objet LatLng ?

A. Hauteur et largeur
B. Numéro de route et borne kilométrique
C. Latitude et longitude
D. Adresse et code postal

Vrai ou faux : vous pouvez utiliser une projection cartographique personnalisée lors de la mise en œuvre d'une carte personnalisée.

Prendre une adresse et la traduire en un point géographique s'appelle quoi ?

A. Géolocalisation
B. Géoparsing
C. Géocaching
D. Géocodage

L'API Google Maps pour laquelle des plates-formes suivantes est obsolète ?

A. Android
B.JavaScript v3
C. Flash
D. iOS

Vrai ou faux : vous ne pouvez créer qu'une seule instance de la classe JavaScript Map sur une page.

Lequel des éléments suivants n'est pas un contrôle intégré pouvant être utilisé sur une carte ?

A. BirdsEyeView
B. Pan
C. Type de carte
D. Street View

Laquelle des fonctions suivantes peut modifier le niveau de zoom de la carte.

A. map.setCenter
B. map.changeZoom
C. map.setZoom
D. map.zoom

Vrai ou faux : si vous souhaitez que votre application JavaScript Google Maps API recherche des lieux, vous devez charger une bibliothèque de lieux supplémentaire via la demande d'amorçage.

Quel type d'objet est la propriété position de MarkerOptions ?

A. google.maps.LatLng
B. google.maps.point
C. google.maps.LatLngBounds
D. google.maps.Sharpie

Quelle classe permet d'afficher du texte ou des images dans une fenêtre popup attachée à un marqueur ?

A. Options de marqueur
B. Fenêtre d'information
C. Options d'informations
D. MapOption

Quelle fonction appelez-vous pour que la carte contienne des limites spécifiques.

A. map.fitBounds (LatLngBounds)
B. map.setCenter(LatLng)
C. map.fitBounds (Limites géographiques)
D. map.panTo(LatLng)

Quelle est la bonne façon de créer un objet API Google Maps qui représente un point sur une carte ?

A. nouveau LatLng (lat:nombre, lng:nombre)
B. nouveau IconPoint (lat: nombre, lng: nombre)
C. nouveau PointCode (lat:nombre,lng:nombre)
D. nouveau géocode (lat:nombre,lng:nombre)

Quelle fonction définit le code HTML contenu dans une InfoWindow ?

A. infoWindow.html (chaîne HTML)
B. infoWindow.setContent(HTMLstring)
C. infoWindow.setHTML(HTMLstring)
D. infoWindow.innerHTML(HTMLstring)

Quel est l'espace de noms sur lequel les écouteurs d'événement doivent être enregistrés pour écouter les événements de l'API Google Maps ?

A. events.maps.google
B. google.api.mapevents
C. google.maps.événement
D. google.mapevents

Comment ajouter un marqueur à une carte existante, nommé « myMap » ?

A. marker.setMap(myMap) ou var marker = new marker()
B. var marqueur = nouveau marqueur()
C. map.add(marqueur)
D. marker.setMap(carte)

Quel paramètre de chaîne de requête ajouté à l'URL de l'API Maps appellera une fonction nommée après le chargement de l'API Maps ?

Une fonction
B. chargé
C. rappel
D. postcharge

Lequel des éléments suivants n'est pas un argument pour le gestionnaire d'événements addListener() ?

A. objet sur lequel l'événement s'est produit
B. phase bouillonnante de l'événement
C. événement pour lequel le gestionnaire est à l'écoute
D. fonction pour répondre à l'événement

Quel objet de superposition utiliseriez-vous pour dessiner une forme fermée sur la carte étant donné un tableau d'objets LatLng ?

A. polyligne
B. forme
C. marqueur
D. polygone

Comment pouvez-vous déterminer si la fenêtre de carte actuelle contient un point spécifique ?

A. map.getBounds.Overlaps(LatLng)
B. map.getBounds().contains(LatLngBounds)
C. map.getBounds().contains(LatLng)
D. map.contient (LatLng)

Lequel des éléments suivants n'est pas un type de fond de carte valide ?

A. TERRAINS
B. AU NIVEAU DE LA RUE
C. FEUILLE DE ROUTE
D. SATELLITE

Quel objet définit un rectangle géographique sur la carte à l'aide de deux objets LatLng ?

A. LatLngBounds
B. Limites géographiques
C. LatLng
D. Limites

Quelle propriété de MarkerOptions détermine où un marqueur est placé sur la carte ?

Un point
B. centre
C. poste
D. latLng

Quelles propriétés MapOptions sont requises lors de la création d'une nouvelle carte ?

A. zoomer
B. mapDiv
C. zoom et centre
D. centre

Comment pouvez-vous développer un objet LatLngBounds pour vous assurer qu'il inclut des points supplémentaires ?

A. latLngBounds.add(newLatLng)
B. latLngBounds.extend(newLatLng)
C. latLngBounds.contain(newLatLng)
D. (aucun de ceux-ci)

Comment récupérer un tableau de marqueurs qui ont été ajoutés à la carte ?
A. var markers = map.markers
B. marqueurs var = map.getMarkers()
C. Les superpositions ajoutées à la carte ne sont pas gérées par la carte et doivent être gérées manuellement.
D. marqueurs var = map.getOverlays("marqueur")

Quelle méthode de classe Map est utilisée pour animer la transition du centre de la carte vers un nouveau LatLng ?

A. panTo
B. panBy
C. nouveauCentre
D. panCenter

Quelle propriété de MarkerOptions vous permet de définir une image personnalisée pour un marqueur ?

A. icône
B. image
C. markerImage
D. image

Quel niveau de zoom affiche une carte de la Terre entièrement agrandie ?

Quelle propriété du DOM vous permet de détecter les appareils iPhone et Android ?

A. navigateur.userAgent
B. device.deviceType
C. navigateur.mobile
D. navigateur.deviceTyp

Lequel des éléments suivants n'est pas un type de recherche de lieu pouvant être effectué avec le service Places ?

Un texte
B. Multiniveau
C. À proximité
D. Radar

Comment chargeriez-vous les données contenues dans un fichier KML sur google map ?
A. map.loadKml(stringUrl)
B. (aucun de ceux-ci)
C. nouveau KmlLayer()
D. map.addKml(stringUrl)

Quelle classe peut être utilisée pour créer des superpositions personnalisées ?

A. objet
B. Vue superposée
C. Marqueur
D. Superposition

Si vous créez un marqueur mais ne spécifiez pas sa map dans les options du marqueur, vous pouvez spécifier la map ultérieurement en utilisant cette syntaxe :

A. marker.setMap(map)
B. map.setMarker(marqueur)
C. marker.setMarker(map)
D. map.markerOptions(marqueur)

Lorsqu'elle est définie sur true, la propriété déplaçable de la classe DirectionsRenderer permet à un utilisateur de :

A. Faites glisser la carte vers un nouveau point central.
B. Faites glisser le contrôle Directions vers un nouvel emplacement.
C. Modifiez un itinéraire en faisant glisser la polyligne pour le chemin de l'itinéraire.
D. Faites glisser un marqueur vers un nouvel emplacement.

Quelle classe est utilisée pour dessiner une superposition de segments de ligne connectés ?

A. Ligne de tirage
B. Polyligne
C. LineOverlay
D. Polygone

Lequel des éléments suivants appellera la fonction testFunction lorsque le div nommé testDiv est cliqué ?

A. google.maps.event.addDomListener(testDiv, 'clic', testFunction)
B. (aucun de ceux-ci)
C. google.maps.event.addListener(testDiv, 'clic', testFunction)
D. google.maps.onClick(testDiv, testFunction)

Quel est le nombre maximum de points de cheminement autorisés dans une demande d'itinéraire non commerciale ?

Lequel des événements suivants est déclenché après que le zoom a changé sur la carte ?

A. limites_changées
B. changé
C. center_changed
D. redimensionner

Comment supprimeriez-vous un marqueur d'une carte ?

A. map.remove(marker)
B. marker.setVisible(false)
C. marker.setMap(null)
D. marqueur.destroy()

Comment redimensionneriez-vous la carte une fois que son élément conteneur a été redimensionné ?

A. google.maps.event.trigger(carte, 'redimensionner')
B. map.setSize(newSize)
C. map.resize()
D. google.maps.event.trigger(map, 'resizeMap')

Quelle propriété de MarkerOptions définit le texte de survol d'un marqueur ?

A. marqueurTexte
B. rolloverText
C. infobulle
D. titre

Quelle classe est utilisée pour afficher les résultats d'une requête d'itinéraire ?

A. DirectionsRenderer
B. DirectionsDemande
C. DirectionsRésultat
D. IndicationsAffichage

Quel objet devez-vous utiliser pour spécifier que vous souhaitez ajouter des contrôles à une carte ?

A. Options de carte
B. Ajouter des contrôles
C. Options de contrôle
D. MapControls

Laquelle des bibliothèques suivantes ne fait pas partie des bibliothèques supplémentaires que vous pouvez charger dans une application JavaScript de l'API Google Maps ?

A. la météo
B. adsense
C. la géométrie
D. la topographie

Quelle fonction animera la carte vers un point central nouvellement défini, à condition que le changement soit inférieur à la fois à la largeur et à la hauteur de la carte ?

A. setCenter
B. setZoom
C. panToBounds
D. panTo

Quelle classe permet aux utilisateurs de dessiner eux-mêmes des superpositions sur la carte ?

A. OverlayControl
B. Gestionnaire de superposition
C. Gestionnaire de dessins
D. Bibliothèque de dessins

Lequel des éléments suivants n'est pas une ControlPosition valide ?

A. Centre_Bas
B. Centre_droit
C. Haut_Droite
D. Bas_Centre

Quelle fonction renvoie un LatLng basé sur une position de pixel ?

A. getPositionOf
B. deDivPixelToLatLng
C. dePointToLatLng
D. dePixelToLatLng

À quel volet de carte devez-vous ajouter un OverlayView si vous souhaitez qu'il réponde aux événements de clic ?

A. overlayImage
B. overlayMouseTarget
C. mapPane
D. superpositionCouche

Vrai ou faux : les résultats de la direction de Toronto, Ontario à Milwaukee, Wisconsin seront affichés en miles par défaut.

Vrai ou faux : les changements d'état MVC passent des arguments dans leurs événements.

Quelle propriété RectangleOptions permet à l'utilisateur de redimensionner un rectangle ?

A. modifiable
B. cliquable
C. redimensionnable
D. déplaçable

Comment ajouteriez-vous un contrôle personnalisé à une carte ?

A. map.controls[ControlPosition].push(customControl)
B. map.controls[ControlPosition].add(customControl)
C. map.addControl(customControl, ControlPosition)
D. map.controls.add(customControl, ControlPosition)

Quelle classe est utilisée pour créer un nouveau type de carte et lui appliquer des styles ?

A. Type de carte
B. MapTypeControlOptions
C. MapTypeStyler
D. StyledMapType

Comment un marqueur peut-il être placé de manière à ce qu'il soit certain d'être placé au-dessus de tout autre marqueur existant ?

A. marker.setZIndex(google.maps.Marker.MAX_ZINDEX + 1)
B. marqueur.setZIndex(999)
C. map.addMarker(marqueur, google.maps.Marker.MAX_ZINDEX + 1)
D. marqueur.bringToFront()

Quel objet représente un ensemble de coordonnées x, y sur la carte ?

A. pixel
B. LatLngBounds
C. poste
D. pointe

Dans quelle méthode d'un OverlayView initialiseriez-vous les éléments html à ajouter à la carte ?

A. setMap
B. dessiner
C. onAjouter
D. ajouter

Quel objet est l'unité la plus atomique de la route renvoyée en réponse à une demande d'itinéraire ?

A. DirectionItinéraire
B. DirectionEtape
C. DirectionJambe
D. DirectionRésultat

Comment étendre un objet LatLngBounds pour contenir un autre objet LatLngBounds ?
A. latLngBounds.add(otherLatLngBounds)
B. latLngBounds.union(otherLatLngBounds)
C. (tout cela fonctionnera)
D. latLngBounds.expand(otherLatLngBounds)

Dans quelle méthode d'un OverlayView seraient les éléments html de l'overlay ?

A. ajouter
B. surAjouter
C. setMap
D. dessiner

Comment appelleriez-vous la fonction testFunction uniquement la première fois que la carte est chargée ?


Le monde est-il déjà fini ? Un premier essai de développement web

Malgré la pure folie, tout le monde continue de parler de la fin du monde comme le prédit le calendrier maya. National Geographic y a même consacré une journée entière. En m'appuyant sur ce thème, j'ai décidé de créer une page Web très pratique (et pratiquement inutile) qui vous aide à déterminer si le monde est en fait terminé : http://everett.x10.mx/end-of-the-world. php. Ce projet était vraiment simple, n'impliquait pas beaucoup de code ou de conception, et a été essentiellement mis en place en une heure et demie. Il s'avère que PHP est extrêmement simple si votre hébergeur est déjà configuré pour cela, et j'ai hâte de faire plus de choses liées au développement Web à la fois avec PHP et d'autres langages ou outils. Le côté HTML de la page était également relativement simple. Je suis impressionné par ce qu'il est possible de concevoir en utilisant HTML et CSS3 modernes. Mon inspiration sur ce front était ce site incroyable : http://www.tubalr.com/

Cela fonctionne comme la page l'indique, en interrogeant google.com pour une réponse. Si Google est en panne, alors on suppose que le monde est terminé, et le résultat est “ Oui. ” en grosses lettres rouges. Le PHP qui fait l'affaire est une version légèrement modifiée de ce qui est publié sur le site suivant : http://css-tricks.com/snippets/php/check-if-website-is-available/. Le fond n'est pas de moi, mais j'ai laissé l'attribution sur l'image, et vous pouvez trouver les originaux ici : http://m3-f.deviantart.com/gallery/?offset=24#/d3b4qgn.

Et parce que je ne vois aucune raison de ne pas le publier, voici le code source complet de la page :


Démo en direct

Consultez la démo en direct montrant l'exemple utilisé dans cet article.

Espérons que cet article vous a fourni une compréhension de base de la façon d'utiliser InfoWindows dans vos cartes, mais il y a beaucoup plus à faire avec elles. Il leur manque encore beaucoup des fonctionnalités trouvées dans l'ancienne API, comme l'affichage d'une carte détaillée à l'intérieur ou le contenu à onglets. Certaines de ces fonctionnalités ne trouveront probablement jamais leur place dans la nouvelle API, mais heureusement, il est assez facile de créer cette fonctionnalité vous-même. Gardez les yeux ouverts pour mon prochain livre où j'expliquerai comment faire certaines de ces choses.


Latitude, longitude et élévations des deux extrémités d'un 300 pi. Position La position de l'icône, dans un certain nombre de formats : LatLon , UTM , UPS , MGRS 25 juillet 2014 · Obtenez les coordonnées de l'adresse Google Maps (latitude et longitude) dans Excel VBA.

J'ai été un peu dépassé par la réponse. carte routière dwg en coordonnées latitude/longitude. 2 points de latitude, longitude (lat/lon) (positions GPS) Je cherchais celui-ci. Il convertit également une seule coordonnée et des points d'épingle sur Google Map.