Hola buenos días.
Estoy trabajando en unity (C#) enviando unas coordenada (latitud, Longitud) de un gps realizado en unity, y los recivo mediante la url en un php web page con $_GET
despues los mando a la script que contiene el codigo de la api de google maps donde dibuja el mapa con unos radios que yo determine y unos markers donde la ubicación de uno de ellos la determino en base a las coordenadas previamente obtenida, una vez hecho esto hace un calculo para saber si esta dentro de uno de los radios y manda un alert con la ubicación ejemplo: "CDMX".
Uno de mis problemas es que yo quiero recuperar esa variable que yo he llamado "BUILD" y pasarla al php pero esto no me ha funcionado he probado con window.location, ajax y me funcionan pero obviamente esto lo manda a otro php lo cual no me sirve ya que lo necesito obtener en el mism php he intentad con:
<script>
var a= "SWQART!!";
<?PHP
$content ="<script> document.write(a) </script>";
?>
</script>
<?php
//$content ="<script> document.write(a) </script>";
echo $content;
?>
Lo cual funciona fuera del script de la api de google maps por alguna razon que desconozco.
Otra cuestion es que estoy tratando de hacer que funcione la api de maps sin las etiquetas de html y unicamente contener los scripts y el codigo de php donde cahco y muestre en un echo mi variable BUILD que esta en JavaScript sin dibujar o mostrar el mapa mi codigo con HTML funciona, me manda los alert y todo perfectamente pero la situación es que una vez que yo mande las coordenadas de unity quiero que me regrese el valor de donde esta osea mi variable BUILD y la muestre desde mi apppero he detectado en que si yo desde unity pido algo así en un php web page no me trae lo que quiero pero si traigo mis datos desde un php file lo hace sin ningún problema, les mando mi código.
-----------------------------------------------------JAVASCRIPT, PHP-----------------------------------------------
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<?php
$lat=$_GET['lat'];
$lon=$_GET['lon'];
?>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?libraries=geometry&sensor=true_or_false"> </script>
<script>
function initMap() {
// alert("HOLA");
var la= parseFloat('<?php echo $lat;?>');
var lo= parseFloat('<?php echo $lon;?>');
// alert(la);
// alert(lo);
var citymap = {
tecnoparque:{
center:{lat: 19.504247, lng: -99.178332},
population: 5
},
buildD:{
center:{lat: 19.504627, lng: -99.177847},
population: .4
},
buildE:{
center:{lat: 19.503530, lng: -99.177258},
population: .4
}
};
// Create the map.
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 14,
center: {lat: 19.500209, lng: -99.182022},
mapTypeId: google.maps.MapTypeId.TERRAIN
});
// Construct the circle for each value in citymap.
// Note: We scale the area of the circle based on the population.
for (var city in citymap) {
// Add the circle for this city to the map.
var cityCircle = new google.maps.Circle({
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map,
center: citymap[city].center,
radius: Math.sqrt(citymap[city].population) * 100
});
}
// The following example creates a marker in Stockholm, Sweden using a DROP
// animation. Clicking on the marker will toggle the animation between a BOUNCE
// animation and no animation.
var marker;
marker1 = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
position: {lat: 19.504627, lng: -99.177847}
});
marker2 = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
position: {lat: 19.503530, lng: -99.177258}
});
marker3 = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
position: {lat: la , lng: lo }
});
/*Centro tecno:*/
var lat2=19.504247;
var lon2=-99.178332;
/*Cento buldD*/
var lat3=19.504627;
var lon3=-99.177847;
/*Cento buldE*/
var lat4=19.503530;
var lon4=-99.177258;
var buidld='edificio D';
var buildE='edificio E';
var BUILD;
var x1=new google.maps.LatLng(la,lo);
/*tecno*/
var x2=new google.maps.LatLng(lat2,lon2);
var distancia = google.maps.geometry.spherical.computeDistanceBetween(x1, x2);
// alert(distancia);
/*buldE*/
var x3=new google.maps.LatLng(lat3,lon3);
var distanciaD = google.maps.geometry.spherical.computeDistanceBetween(x1, x3);
// alert(distanciaD);
/*buldD*/
var x4=new google.maps.LatLng(lat4,lon4);
var distanciaE = google.maps.geometry.spherical.computeDistanceBetween(x1, x4);
// alert(distanciaE);
var limiteTecno= 222;
var limiteD=68;
var limiteE=68;
if(limiteTecno>distancia){
if(limiteD>distanciaD){
BUILD=buidld;
alert(BUILD);
// alert(buidld);
}
else if(limiteE>distanciaE){
BUILD=buildE;
alert(BUILD);
alert (buildE);
}
// alert('tecno');
}
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA4P4R_LXj4a2MwoUQanBL1CgEPbJt2uTQ&signed&libraries=geometry,places_in=true&callback=initMap"></script>
<?php
echo $lat ;
echo $lon ;
?>
Espero ser claro en mis situaciones, no se si sea posible utilizar así la API de maps pero creo yo qque deberia de funcionar, todos los ejemplos que he visto estan con HTML.
¡Saludos!