Erreur Javascript - ne Peut pas trouver de variable : google
Le code que j'ai écrit fonctionne très bien sur le navigateur. Mais lorsque je connecte le wifi sur l'iPhone, j'obtiens une erreur dans le débogueur :
Erreur Javascript - ne Peut pas trouver de variable : google
Cela se produit à chaque fois que j'appelle google maps/directions/objet de géolocalisation.
Le code est comme suit :
map = new Ext.Map({
mapOptions : {
center : center,
zoom : 20,
//mapTypeId : google.maps.MapTypeId.ROADMAP,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.DEFAULT
}
},
listeners : {
maprender : function(comp, map){
pos = new google.maps.LatLng(lats, longs, true);
var marker = new google.maps.Marker({
position: pos,
//title : 'Sencha HQ',
map: map
});
map.setMapTypeId(google.maps.MapTypeId.HYBRID);
setTimeout( function(){map.panTo (pos);} , 1000);
}
},
geo:new Ext.util.GeoLocation({
autoUpdate:true,
maximumAge: 0,
timeout:2000,
listeners:{
locationupdate: function(geo) {
pos = new google.maps.LatLng(lats, longs, true);
center = new google.maps.LatLng(geo.latitude, geo.longitude);
if (map.rendered)
map.update(center)
else
map.on('activate', map.onUpdate, map, {single: true, data: pos});
},
locationerror: function(geo, bTimeout, bPermissionDenied, bLocationUnavailable, message) {
if(bLocationUnavailable){
alert('Your Current Location is Unavailable on this device');
}
else if (bPermissionDenied){
alert('Location capabilities have been disabled on this device.');
}
}
}
})
});
L'erreur se produit à chaque fois que le code de la rencontre de la parole de google. Aussi pour la LatLng objet j'obtiens l'erreur javascript : "....résultat de LatLng pas un constructeur"
Remarque : les variables "lats" et "longs" ont été définis de n valeurs de donnée avant ce segment de code
pouvez-vous vérifier que vous incluez l'externe, l'api google bibliothèque ?
qu'entendez-vous par externe, l'api google lib? J'ai ajouté dans la balise script dans index.html comme suit:
qu'entendez-vous par externe, l'api google lib? J'ai ajouté dans la balise script dans index.html comme suit:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
OriginalL'auteur SashaZd | 2011-09-27
Vous devez vous connecter pour publier un commentaire.
Ce qui a fonctionné pour moi: supprimer le "https" dans la
de sorte qu'il devient
Je ne sais pas pourquoi Safari ne pas charger les pages sécurisées sur les autres, mais il ne semble tout simplement pas. Et puis génère l'erreur. C'est le seul navigateur mobile qui semble se comporter comme ça.
http[s]:
préfixe entièrement pour laisser le navigateur automatiquement le protocole de la page. Aussi connu comme protocole relatif url.OriginalL'auteur Victor
Donc j'avais posté plus tôt comme un commentaire, mais puisque c'est la solution réelle du problème, je vais poster une fois de plus 😀
Ok s'avère que la raison pour laquelle j'ai été faire toutes ces erreurs est parce que j'étais derrière un proxy. Bizarrement assez le proxy me permet d'accéder au google bibliothèques et le serveur lorsque je suis connecté en utilisant le câble LAN, mais pas quand Im en utilisant un réseau WiFi. Espérons some1 d'autre qui est collé wid ce genre d'erreur peut se trouver cela un peu utile 🙂
OriginalL'auteur SashaZd
Pourrait-il que vous êtes en train de charger le Google bibliothèques JavaScript à partir du serveur de Google? Si oui, quand vous n'avez pas de WiFi, ça ne marchera pas. C'est pourquoi le "google" de l'objet n'est pas définie. Vous ne pouvez utiliser Google Maps et tel quand vous êtes appareil est en ligne.
EDIT: Nevermind, vous avez dit que vous ÊTES connecté via le WiFi. Impair. Je suppose que nous avons besoin de voir votre code source complet ensuite.
La nouvelle solution pour cela?
OriginalL'auteur Johannes Fahrenkrug
Ma solution a été de simplement assurez-vous que les Cartes Google maps js charge avant de les Toucher js. Simplement mettre
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
avant
<script id="microloader" type="text/javascript" src="touch/microloader/development.js"</script>
OriginalL'auteur vLamp
Vérifier si votre config.xml avoir l'autorisation de naviguer dans l'Api Google Adresse que vous écrivez dans index.html.
Vérifiez si vous travaillez avec le "https" ou de "http". Je l'ai fait avec le "https"
Dans votre index.html:
Dans votre config.xml
Cela a fonctionné pour moi!
OriginalL'auteur Carlos Galeano