2011-06-11 4 views
2

J'ai un problème avec ma carte. La carte fonctionnait correctement il y a environ 5 mois. Maintenant, quand je charge la carte avec mes coordonnées, la carte se charge, mais quand je commence à parcourir la carte, le zoom etc. Je reçois un écran blanc comme s'il n'y avait pas de connexion avec la carte .. . Il y a environ 5 mois, j'utilisais ce script et tout fonctionnait bien ... la navigation, le zoom, le changement de type de carte, tout sans aucun problème. J'ai créé le code html selon le site google et le mettre dans le nouveau fichier de ressources:GoogleMaps Api et C#

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" /> 
<title>Google Maps JavaScript API v3 Example: Map Simple</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 



    function load(latitude,longitude,zoomik) { 
    var myLatlng = new google.maps.LatLng(latitude,longitude); 
    var myOptions = { 
     zoom: zoomik, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 


    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

    var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map, 
     title:"Here!"}); 

    } 

</script> 
</head> 
<body onload="load()"> 
    <div id="map_canvas"></div> 
</body> 
</html> 
code

pour mon bouton est:

private void TestButton_Click(object sender, EventArgs e) 
    { 
     webBrowser1.Document.InvokeScript("load", new object[] { -34.397, 150.644, 8 }); 
    } 

écrans: Carte chargé correctement: enter image description here

Après l'utilisation de l'outil de panoramique ou de l'outil de zoom: - écran blanc vide. J'utilise le contrôle Visual C# Express et WebBrowser à partir de winforms.

code HTML fonctionne correctement dans Firefox (à l'aide Aptana Studio) (zoom et pan travail ok)

Que ce code de l'exemple google api est également ne fonctionne pas correctement:

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css"  rel="stylesheet" type="text/css" /> 
<title>Google Maps JavaScript API v3 Example: Map Simple</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
function initialize() { 
    var myLatlng = new google.maps.LatLng(-34.397, 150.644); 
    var myOptions = { 
    zoom: 8, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    } 
    </script> 
    </head> 
    <body onload="initialize()"> 
    <div id="map_canvas"></div> 
    </body> 
    </html> 

Répondre

1

Je l'ai compris moi-même.

ERRONEES:

<div id="map_canvas"></div> 

après avoir changé à:

<div id="map_canvas" style="width:500px; height:400px"></div> 
carte

fonctionne comme il se doit.

0

Quand je avoir des problèmes avec gMaps la première chose que je fais est de changer la clé de la carte, avez-vous essayé cela? Quels navigateurs avez-vous essayé? Firefox, Chrome ou IE?

+0

Eh bien, j'utilise WebBrowser à partir de winforms en mode visuel. Clé API? Selon le site Web de l'API GoogleMaps: "Cette version de l'API JavaScript de Google Maps n'a plus besoin de clés API!". Le code HTML fonctionnait correctement dans Firefox. – Elfoc

0

J'ai eu un problème similaire avec Google Maps v3. Bien que, mon problème était que je visais l'API actuelle Google Maps v3 et ils "déprécié" un appelé à set_map et introduit la même fonctionnalité que setMap.

Je ne vois rien dans votre code qui devrait être cassé. Si vous avez un autre code JavaScript sur cette page qui génère une erreur, il peut arriver que Google Maps ne se charge pas. Par exemple, si vous référencez un autre JavaScript qui déclenche une exception non interceptée, la map peut ne pas être chargée.

Ma suggestion est de spécifier la version de l'API Google Maps au lieu d'utiliser le courant et voir si cela résout le problème:

<script type="text/javascript" 
    src="http://maps.google.com/maps/api/js?v=3.3&sensor=false"> 
</script> 

Edit: aussi, en regardant votre nouveau poste, vous pouvez déplacer la logique pour le réglage d'un marqueur et carte zoom arrière de la fonction de chargement. Ainsi, lorsque vous cliquez sur le bouton, vous ne réinitialisez pas la carte et les options. J'ai vu sur la documentation sur l'autre jour que la carte a maintenant des options "claires" pour le contenu div, et le chargement de la carte deux fois (charge du corps, clic sur le bouton) peut forcer ce comportement clair. Encore une fois, ciblez une version antérieure de l'API et cela peut fonctionner.

+0

Toujours le même problème .. :( – Elfoc