Red de conocimiento informático - Material del sitio web - Cómo convertir por lotes a latitud y longitud de Baidu

Cómo convertir por lotes a latitud y longitud de Baidu

Cómo convertir por lotes a longitud y latitud de Baidu

Resumen:

El sitio web oficial de Baidu Map API proporciona ejemplos comunes de conversión de coordenadas. Sin embargo, sólo puedes convertir uno a la vez, ¡lo cual es realmente problemático! A continuación, combinaremos los ejemplos oficiales para crear una herramienta de conversión por lotes para su referencia.

------------------------------------------- ------------------------------------------------

Como no tengo coordenadas GPS, usaré las coordenadas de Google como ejemplo.

Lo primero que hay que tener en cuenta es que el orden de las coordenadas de longitud y latitud de Baidu y Google está invertido.

Por ejemplo, la latitud y longitud de Google es

new google.maps.LatLng(39.90762965106183, 116.3786889372559)

La longitud y latitud de Baidu pasaron a la interfaz de conversión de coordenadas debe ser

p>

new BMap.Point( 116.3786889372559,39.90762965106183)

Por lo tanto, creé una matriz para mantener la latitud y longitud antes de la conversión. Cree un punto de coordenadas de Baidu, pero utilice la latitud y longitud de Google.

// Nota: Las coordenadas de latitud y longitud de Baidu y Google están en el orden opuesto.

var puntos = [nuevo BMap.Point(116.3786889372559,39.90762965106183),

nuevo BMap.Point(116.38632786853032,39.90795884517671),

nuevo BMap.Point( 116.39534009082035,39.907432133833574),

nuevo BMap.Point(116.40624058825688,39.90789300648029),

nuevo BMap.Point(116.41413701159672, 39. 90795884517671)

];

Luego llame a la interfaz lanzada oficialmente

BMap.Convertor.transMore(points,2,callback);

Hice mis propias modificaciones a la interfaz de conversión de coordenadas para que puede devolver resultados varias veces. Por favor preste atención a la sección de comentarios.

Se dice que el límite de la interfaz de conversión de coordenadas de Baidu es 50 veces/segundo.

función transMore(puntos,tipo,devolución de llamada){

for(var índice en puntos){

if(index > 50){return;}

var xyUrl = "/ag/ coord/convert?from=" + tipo +

"&to=4&x=" + puntos[index].lng + //Aquí, usted El Los datos largos de los puntos de la matriz deben leerse en un bucle hasta que se lea puntos.longitud.

"&y=" + puntos[index].lat +

"&callback=callback";

/Crear dinámicamente la etiqueta script

load_script(xyUrl);

}

}

Después del paso anterior, las coordenadas se convertirán. Se convirtieron en coordenadas de Baidu. Pero esta vez las coordenadas de Baidu están cifradas.

No puedo leer...

La buena noticia es que podemos usar estos códigos de cifrado directamente para crear marcadores. Después de obtener el objeto, podrás usarlo directamente. setCenter(point);//El resultado de escribir esta oración es que cada punto que se gira es el punto central del proceso de procesamiento

}

Aquí, la conversión por lotes está completa ~~

Las siguientes son las funciones restantes que agregué yo mismo: cómo obtener los puntos de coordenadas del mapa en el mapa.

------------------------------------------- ----- --------------------------------------------- -----

¿Cómo obtener coordenadas, latitud y longitud en el mapa?

El primero es Google: agrega un evento en el mapa, haz clic en el mapa directamente después de que aparezca.

google.maps.event.addListener(mapa, 'clic', función(e) {

alerta(e.latLng);

});

Luego está Baidu, que también agregó un evento al mapa.

map.addEventListener("clic",función(e){

alerta(e.point.lng + "," + e.point.lat);

});

¿Alguien más ha notado la diferencia entre Google y Baidu?

Sí, parece que la latitud y longitud de Google están encapsuladas. La longitud y latitud de Baidu están separadas~~~

--------------------------------- - -------------------------------------------------- ----

Código fuente completo:

Hay dos archivos, uno es htm y el otro es el js de conversión de coordenadas oficial modificado.

Conversión por lotes.htm