2010-02-06 6 views
1

est ici le code htmlcomment xml de sortie utilisé résultat carte api google

<script src="http://maps.google.com/maps?file=api&v=2&key=" type="text/javascript"></script> 
<!-- According to the Google Maps API Terms of Service you are required display a Google map when using the Google Maps API. see: http://code.google.com/apis/maps/terms.html --> 
<script type="text/javascript"> 

var geocoder, location1, location2, gDir; 

function initialize() { 
    geocoder = new GClientGeocoder(); 
    gDir = new GDirections(); 
    GEvent.addListener(gDir, "load", function() { 
    var drivingDistanceKilometers = gDir.getDistance().meters/1000; 
    document.getElementById('results').innerHTML = drivingDistanceKilometers; 
    }); 
} 

function showLocation() { 
    geocoder.getLocations(add1, function (response) { 
    location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address}; 

    geocoder.getLocations(add2, function (response) { 
    location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address}; 

    //gDir.load('from: ' + location1.address + ' to: ' + location2.address); 
    gDir.load('from:' + location1.address + ' to: ' + location2.address); 
    }); 


    }); 
} 

</script> 


</head> 

<body onload="initialize();showLocation()"> 
<p id="results"></p> 

</body> 

la sortie sera de somthing comme celui-ci, 1,625

quand file_get_contents() le lien html en php, il va obtenir tout le code html inclure le titre, mais pas le résultat 1,625,

espère que vous comprenez mon anglais

Répondre

2

Je suppose que vous n'avez pas le point que PHP fonctionne sur votre serveur et le Javascript fonctionne dans le navigateur de l'utilisateur. La transmission des données du serveur au navigateur s'effectue de manière assez automatique lorsque le serveur sert le code au navigateur. Transférer des données du navigateur de l'utilisateur vers votre serveur est plus difficile. Vous pouvez utiliser GDownloadUrl() pour renvoyer le résultat du Javascript à un autre serveur de votre site ou, avec une utilisation judicieuse des paramètres, revenir à une autre instance du même script serveur. Je ne crois pas qu'il soit possible de renvoyer la même instance du même script serveur, comme si le serveur avait fait une "requête" au client et avait reçu une "réponse". Je suggère soit fondamentalement de repenser la stratégie pour tout ce que vous essayez réellement d'obtenir et d'arranger les choses afin que le client demande des données du serveur plutôt que le serveur demandant des données du client.

Envisagez de voter pour Issue 235 qui, si elle était implémentée, permettrait à votre serveur de demander les données directement à Google, plutôt que d'avoir à faire la demande à Google via Javascript dans le client.

Ce serait aussi une bonne idée de jeter un coup d'œil pour voir si ce que vous essayez de faire est une violation des termes.