La carte Google que j'ai est seulement rendue partiellement et est centrée au mauvais point (elle devrait se centrer sur le marqueur). Voir ci-dessous:Google Map montre seulement partiellement
Maintenant, pour ajouter un peu plus en détail:
- Il fonctionne très bien dans IE
- Il ressemble à la capture d'écran en FF et Chrome.
- En Chrome fonctionne ist dès, que j'ouvre la console développeur
Surtout le dernier point est celui que je me demande le plus. Je suppose que l'ouverture de la console de développeur ré-exécute du JavaScript. Donc: Puis-je appeler une fonction pour ré-exécuter JavaScript, comme le fait la console développeur?
Voici le code:
<script type="text/javascript">
{literal}
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map")); //, { size : {width:600,height:600} }
map.addControl(new GLargeMapControl3D());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.setCenter(new GLatLng(51.17689812200107, 9.84375), 5);
map.checkResize();
var geocoder = new GClientGeocoder();
function showPoint(lat, lon) {
if (lat != "" && lon != "") {
var point = new GLatLng(lat, lon);
map.setCenter(point, 10);
var marker = new GMarker(point, {draggable: true});
GEvent.addListener(marker, "dragstart", function() {
// map.closeInfoWindow();
});
GEvent.addListener(marker, "dragend", function() {
var newPoint = marker.getLatLng();
$('#lat').val(newPoint.lat());
$('#lon').val(newPoint.lng());
// marker.openInfoWindowHtml("Neue Koordinaten Lat: "+ newPoint.lat() +" Lon: "+ newPoint.lng());
});
map.addOverlay(marker);
}
}
{/literal}showPoint("{$gmap_lat}", "{$gmap_lon}");{literal}
}
}
{/literal}
C'est là que je mets le div:
<fieldset style="-moz-border-radius: 1em; -webkit-border-radius: 1em;">
<legend>Karte</legend>
<div id="map" title="Lage von '{$name}'"><br>Die Karte wird geladen...<br><br>Hinweis: Damit dies funktioniert müssen Sie in Ihrem Browser JavaScript aktivieren</div>
Falls sich der Marker nicht auf der richtigen Position befinden sollte, bewegen Sie diesen mit Ihrer Maus auf die richtige Position.
<br>Länge: <input type="text" id="lat" name="lat" value="{$gmap_lat}">
Breite: <input type="text" id="lon" name="lon" value="{$gmap_lon}">
</fieldset>
Et sur la div les règles CSS suivantes sont applicables:
Certains code et/ou un exemple vivant serait très utile –
sons comme un problème de CSS - Google Maps utilise beaucoup CSS pour donner la impression le m ap est flottant. Il y a un décalage de - apparemment - une image carrée (allez dans Maps, faites un clic droit et faites "Voir l'image", la taille de votre décalage est comme celle d'une image). –
@Pekka: Je viens de mettre le code là-dedans, sry. – JochenJung