Google semble avoir changé le fonctionnement de leurs iFrames. Il y a maintenant une infobox en haut à gauche qui tente d'afficher le nom du lieu. Le problème est qu’ici, en Irlande, il est souvent impossible d’utiliser le nom de l’entreprise pour localiser une carte, et il est souvent nécessaire d’utiliser le nom de la rue, etc. la carte, ainsi que sur la page à côté de la carte!
Comment puis-je me débarrasser de cette chose? Dans cet exemple, l'entreprise se trouve dans le même bâtiment que les entraîneurs irlandais. Maps insiste sur le fait qu'en indiquant l'adresse, l'avocat veut pour une raison quelconque informer ses clients potentiels de la situation de Irish Coaches!
J'ai essayé iwloc mais ça ne fait rien et je ne peux pas le faire via CSS et jQuery car c'est sur un autre domaine!
Des idées?
Cela a cessé de fonctionner vers février 2017. Ils ont dû mettre à jour leur API. :(
C'est comme ça que vous le faites!
Version de travail
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2381.7399040776495!2d-6.261147484122739!3d53.34791197997939!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!3m2!1sen!2sus!4v1462581622087" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
J'ai remarqué un motif dans l'incorporation d'un autre site qui ne contenait que le texte "Agrandir la carte" et aucun élément supplémentaire. Quelques caractères seulement ont dû être supprimés.
Intégré vous êtes donné
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2381.7399040776495!2d-6.261147484122739!3d53.34791197997939!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x48670e84fbdd6bd3%3A0x998692b4f1b691e1!2sUlster+Bank+Chambers%2C+O'Connell+Street+Lower%2C+Dublin+1%2C+Ireland!5e0!3m2!1sen!2sus!4v1462581622087" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
C'est la partie qui a été supprimée
1m2!1s0x48670e84fbdd6bd3%3A0x998692b4f1b691e1!2sUlster+Bank+Chambers%2C+O'Connell+Street+Lower%2C+Dublin+1%2C+Ireland!5e0!
Je l'ai essayé pour d'autres adresses aussi.
Cela fonctionne lorsque vous utilisez des coordonnées au lieu du nom de l'entreprise, à partir du 22/01/2018
Le résultat HTML ressemble à ceci:
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3333.967410377096!2d-111.89998968453055!3d33.31966746342457!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x0!2zMzPCsDE5JzEwLjgiTiAxMTHCsDUzJzUyLjEiVw!5e0!3m2!1sen!2sus!4v1516690469899" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Après avoir approfondi vos recherches, vous essayez de retirer la carte de lieu de Google Maps.
Une question similaire avait déjà été posée: Google Maps Intégrer - Supprimer un lieu
Supprimez simplement quelques caractères du code d'intégration et le tour est joué.
Embed normale:
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3929.040079626225!2d76.32828391488012!3d10.013548175548115!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3b080cf735671585%3A0x515419464975212e!2sCoredes+-+UX+Studio!5e0!3m2!1sen!2sin!4v1536297325864" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Il vous suffit de supprimer les caractères compris entre 1m2!
et 1sen!
Code édité:
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3929.040079626225!2d76.32828391488012!3d10.013548175548115!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1sen!2sin!4v1536297325864" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
J'ai essayé plus d'une douzaine d'endroits dans différents pays et j'ai bien fonctionné.
Vous avez deux réponses ici, une qui se débarrasse de la boîte d’informations et une autre qui pourrait répondre pour obtenir le bon emplacement dans la boîte d’informations. J'espère que l'un d'eux aide.
CAVEAT: La méthode peut être considérée comme un "piratage" et peut changer si Google modifie les fonctionnalités d'intégration sous-jacentes.
Je me suis retrouvé ici à chercher une réponse similaire et, en me basant sur ce que d'autres ont dit, je suis parvenu à cela. La réponse est semblable à d’autres, mais j’espère expliquer quelques choses sur l’URL incorporée et sur la façon de générer une URL incorporée à l’aide de lat, long et zoom (ce que vous pourriez obtenir d’un plugin de localisation dans un CMS).
En utilisant ce billet comme base de recherche, j'ai trouvé plusieurs articles décrivant une ventilation des paramètres d'intégration, qui sont des lectures intéressantes en soi: - Décodage des paramètres intégrés de Google Maps , ce qui a conduit ici http://blog.themillhousegroup.com/2016/08/deep-diving-into-google-pb-embedded-map.html
Ce que j’ai tiré de ces articles (je n’expliquerai pas tout ici encore), c’est une ventilation du paramètre "pb". "pb" est un format de propriété (?) et "m" une référence de matrice. Voici un exemple du code intégré généré à partir d'un partage incorporé de Google Maps.
<iframe src="https://www.google.com/maps/embed?pb=
!1m18
!1m12
!1m3
!1d2256.8774176856136
!2d145.01353351606252
!3d-37.79291244062522
!2m3
!1f0
!2f0
!3f0
!3m2
!1i1024
!2i768
!4f13.1
!3m3
!1m2
!1s0x0%3A0x0
!2zLTM3Ljc5MjkxNjcgMTQ1LjAxNTcyMjI
!5e0
!3m2
!1sen
!2suk
!4v1532346966021
" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
En jouant, j’ai trouvé que l’ensemble du paramètre "pb" peut être simplifié
<iframe src="https://www.google.com/maps/embed?pb=
!1m7
!1m2
!1m1
!1d2256.8774176856136
!3m3
!1m2
!1s0
!2zLTM3Ljc5MjkxNjcgMTQ1LjAxNTcyMjI
" width="450" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
Remarque: le nombre après le "m" a diminué pour indiquer moins d'éléments dans la "matrice"
Cette intégration ci-dessus est pour un emplacement à lat = -37.7929167, long = 145.0157222 et zoom = 17
Comme l'indique une autre réponse, il semble que si vous n'utilisez que la latitude et la longitude (avec cette API intégrée, et non l'API des lieux d'intégration), la boîte d'information n'apparaîtra pas, mais j'avais besoin de savoir comment obtenir l'URL intégrée sans y aller. via google d'abord pour générer l'URL à partir d'un partage.
Dans le "pb" décomposer, il y a quelques parties à noter
L'échelle peut être dérivée quelque peu d'un algorithme que j'ai trouvé ici https://gis.stackexchange.com/questions/7430/what-ratio-scales-do-google-maps-zoom-levels-correspond-to et ici https://www.esri.com/arcgis-blog/products/product/mapping/how-can-you-tell-what-map-scales-are-shown-for-online-maps/
mais j’ai trouvé que ce n’était pas tout à fait correct pour les chiffres que j’attendais, alors j’ai modifié le niveau de zoom pour me donner
var mapScale = 591657550.5 / Math.pow( 2, zoom + 1);
// The results of this goes after the "1d" part in the map scale
Pour les coordonnées, utilisez base64 (l’exemple ci-dessous correspond à javascript) lat et long pour obtenir la chaîne résultante. Je l'ai eu en utilisant les deux formats décimaux degrés et degrés minutes secondes.
var base64 = btoa([lat,long]); // lazy "lat,long" formatting
// the result of this goes after the "2z" part in the coordinate
Si vous souhaitez créer un script, voici un exemple simple d'utilisation de javascript pour générer l'iframe, mais vous souhaiterez probablement créer l'intégralité du côté serveur src. Remarque: il ne s'agit pas d'une solution javascript, mais d'un exemple de solution scriptée.
// create the iframe and with the required properties.
var iframe = document.createElement("iframe");
iframe.width = 450;
iframe.height = 450;
iframe.frameborder = 0;
iframe.style.border = 0;
iframe.setAttribute('allowFullScreen', '')
document.body.appendChild(iframe)
// sample lat and long.
var lat = -37.7929167;
var long = 145.0157222;
var zoom = 17;
// get the scale
var mapScale = 591657550.500000 / Math.pow( 2, zoom+1);
// get the base64 representation
var base64 = btoa([lat,long]); // lazy "long,lat" formatting
// set the source of the iframe
iframe.src = 'https://www.google.com/maps/embed?key=asdfsdfsf&pb=!1m7!1m2!1m1!1d' + mapScale + '!3m3!1m2!1s0!2z' + base64;
J'ai créé ici un exemple sur codepen illustrant l'incorporation d'origine, l'intégration minifiée, l'intégration sans échelle et la solution scriptée. https://codepen.io/mcgern/pen/zLZJmQ
Vous l'avez peut-être déjà essayé, mais si l'entreprise que vous souhaitez utiliser possède un identifiant Google Place, vous pourrez peut-être le trouver à l'aide de https://developers.google.com/places/place-id . Une fois que vous avez obtenu l’identifiant de lieu, vous pouvez l’utiliser à la place de l’URL intégrée comme ceci.
<iframe width="600" height="450" frameborder="0" style="border:0"
src="https://www.google.com/maps/embed/v1/place?q=place_id:ChIJ02vd-
4QOZ0gR4ZG28bSShpk&key=<INSERT_API_KEY>" allowfullscreen></iframe>
(Je viens de trouver un endroit aléatoire qui ressemble au même bâtiment que les entraîneurs irlandais)
il vous suffit de saisir des destinations en cours de route, par exemple en indiquant une route à suivre et en supprimant les alternatives, vous pouvez toujours intégrer l’iframe.
mi-2017, vous pouvez utiliser un indicateur de contrôle intégré dans Google api intégré dans disableDefaultUI
utilisez-le comme ceci:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: {lat: -33, lng: 151},
disableDefaultUI: true
});
}
ref: https://developers.google.com/maps/documentation/javascript/controls#DisablingDefaults
<iframe src="https://google-developers.appspot.com/maps/documentation/javascript/examples/full/control-disableUI" width="100%" height="300" frameborder="0"></iframe>