Habrá más ensayos sobre el mapa Gaode.
1. Descripción del negocio
Hay dos tipos de miembros en el negocio de aplicaciones correspondiente: uno es el personal de servicio y el otro es el personal de servicio. Se da cuenta principalmente de las funciones y localiza la ubicación del personal de servicio en la aplicación de manera oportuna. Luego, la unidad de distancia M entre el personal de servicio y el personal de servicio se calcula a través de una latitud y longitud provista cuando el personal de servicio inicia sesión en la aplicación.
El siguiente es todo el proceso detallado, desde la creación de una aplicación correspondiente de Gaode (no hablaré de eso si se registra aquí) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Cree la aplicación Gaode Map correspondiente al servlet y cree su propia tabla de base de datos de mapa de nube
Después de registrar una cuenta, inicie sesión y haga clic en la consola en la esquina superior derecha. Aparecerá la siguiente interfaz. Tomé una captura de pantalla.
Por supuesto, esta es la interfaz que he registrado. Si no se registra, simplemente obtenga la clave. Haga clic aquí directamente para crear su aplicación. Puede obtener el nombre de la aplicación a voluntad, porque estamos aquí para manejarlo.
Negocio relacionado, por lo que la opción es la API del servicio web. Aquí hace clic para obtener la tecla y aparecerá la captura de pantalla a continuación.
Después de completar este paso, podemos crear el gráfico de nubes que queremos, ingresar la consola, seleccionar el mouse para moverse a mis datos y luego seleccionar la estación de administración de datos (Web) a continuación para ingresar la interfaz para agregar gráficos en la nube.
A continuación se muestra una captura de pantalla después de entrar. Después de esta captura de pantalla, la explicaré directamente en el texto.
La captura de pantalla anterior es el resultado que creé. Aquí debemos hacer clic primero en la descarga de la plantilla de datos en la esquina superior derecha. Después de descargar la plantilla, modifique los datos correspondientes, agregue los campos que necesita y luego haga clic en el nuevo mapa a
La plantilla modificada se importa a la biblioteca de la nube. Esta plantilla es en realidad una tabla de base de datos exportada por Excel. A continuación, intercepto directamente la tabla que creé. Agregué dos campos a esta tabla y establecí un campo en el campo de índice.
Recuerde que el nombre del campo rojo debe conservarse (el contenido se puede modificar a voluntad), que se incluye en la plantilla del sistema. Los dos campos negros al final son agregados por ellos mismos y pueden modificarse a voluntad. Incluso si lo sube al servidor Gaode Cloud Map, se puede cambiar.
Después de cargar la tabla anterior, abrirá la administración de datos anterior (Web) y aparecerá la interfaz del mapa anterior. Aparece un bloque de mapa a la izquierda. Haga clic y verá la información detallada de la persona que cargó, así como el logotipo de estrella amarilla de cinco puntas que se muestra en el mapa a través de la latitud y la longitud cargadas. Hay capturas de pantalla a continuación
Los campos que se muestran en esta tabla son modificados por mí, no cargados en Excel en este momento. Al hacer clic en el título de la columna, puede hacer una serie de configuraciones. No entraré en detalles.
Simplemente hable sobre la configuración del campo de índice.
Después de ingresar, elegí filtrar el índice de clasificación-> Filtrar El índice de clasificación es establecer una condición de filtro para los campos recién agregados del usuario.
Estoy usando el tipo de usuario tomado en la imagen en la nube de arriba. También te tomaré una foto.
En este punto, completaremos toda la creación del mapa de la nube y los pasos de carga. . . A continuación, hablaré sobre el método llamado.
2. Método de solicitud para la biblioteca de imágenes en la nube de consultas de servlet
1. Primero publique la dirección del documento del desarrollador:
http://lbs.amap.com/yuntu/reference/clouddsearch/ Te sugiero que lo revises yo mismo
Aquí, el servlet utiliza la API de recuperación de la nube, y la aplicación correspondiente utiliza la API de almacenamiento en la nube. Tal vez mañana, se agregará un artículo sobre la ubicación de tiempo del cliente iOS correspondiente a esta interfaz.
A continuación se muestra el formato de URL empalmado. Ingrese la actualización directamente en la URL para obtener los datos relevantes por Get.
http://yuntuapi.amap.com/datasearch/local?tableid=568bd32b305a2a31f604c650&city=beijing&keywords=%20&filter=type: personal de servicio limit = 15 & page = 1 & key =? (La tecla de parámetros aquí es tuya)
A continuación se muestra el código de método de solicitud encapsulado
paquete ayudante; import java.io.bufferedReader; import java.io.ioException; import java.io.inputstreamreader; import java.io.printwriter; import java.io.unsupportedEncodingException; import java.net.url; import java.net.url; import java.net.urLconnection; import javil.util.util.util.util.util.Util. java.util.map; clase pública httprequest { /** * Enviar la solicitud de método Get a la url especificada * * @param url * url para enviar la solicitud * @param param * Parámetros de solicitud, los parámetros de solicitud deben estar en forma de nombre1 = value1 & name2 = value2. * @return URL Resultado Resultado del recurso remoto representado por el recurso remoto*/ public static string sendget (string url, string param) {string dult = ""; BufferedReader en = NULL; Prueba {String urlnameString = url + "?" + Param; Url realUrl = nueva url (urlamestring); // Abra la conexión entre la conexión URL URLConnection = RealUrl.openconnection (); // Establecer el atributo de solicitud general Connection.SetRequestProperty ("Aceptar", "*/*"); conexión.setRequestProperty ("Conexión", "Keep-Alive"); Connect.SetRequestProperty ("AGENT DE USUARIO", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); // crear una conexión real de conexión.connect (); // Obtener todos los campos de encabezado de respuesta MAP <String, List <String>> MAP = Connection.GetheaderFields (); // Traverse todos los campos de encabezado de respuesta para (clave de cadena: map.keyset ()) {system.out.println (clave + "--->" + map.get (key)); } // Defina la secuencia de entrada de BufferedReader para leer la respuesta de la URL en = new BufferedReader (new InputStreamReader (Connection.GetInputStream ())); Línea de cadena; while ((line = in.readline ())! = null) {resultado += línea; }} Catch (Exception e) {System.out.println ("La excepción ocurrió al enviar una solicitud GET!" + E); E.PrintStackTrace (); } // Use finalmente bloquear para cerrar el flujo de entrada finalmente {try {if (in! = Null) {in.close (); }} catch (Exception e2) {e2.PrintStackTrace (); }} Resultado de retorno; } /** * Envíe una solicitud a la URL especificada * @param URL * URL para enviar la solicitud * @param parámetro * Parámetro de solicitud, el parámetro de solicitud debe estar en forma de nombre1 = valor1 & name2 = value2. * @return Resultado de respuesta del recurso remoto representado por */ public static String sendPost (String url, string param) {printWriter out = null; BufferedReader en = NULL; Resultado de cadena = ""; intente {url realUrl = new url (url); // Abra la conexión entre UrlConnection Conn = RealUrl.openconnection (); // Establecer el atributo de solicitud general conn.setRequestProperty ("aceptar", "*/*"); conn.setRequestProperty ("Conexión", "mantener alive"); Conn.setRequestProperty ("AGENT DE USUARIO", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); // Para enviar una solicitud de publicación, debe establecer las siguientes dos líneas en conn.setDoOutput (verdadero); Conn.setDoInput (verdadero); // Obtenga la secuencia de salida correspondiente al objeto de UrlConnection out = new PrintWriter (conn.getOutputStream ()); // Enviar el parámetro de solicitud out.print (param); // buffer out.flush () de la secuencia de salida de descarga; // Defina la secuencia de entrada de BufferedReader para leer la respuesta de URL en = new BufferedReader (new InputStreamReader (conn.getInputStream ())); Línea de cadena; while ((line = in.readline ())! = null) {resultado += línea; }} Catch (Exception e) {System.out.println ("¡Se produjo una excepción al enviar una solicitud posterior!" +E); E.PrintStackTrace (); } // Use finalmente bloqueos para cerrar la secuencia de salida y la secuencia de entrada finalmente {try {if (out! = Null) {out.close (); } if (in! = null) {in.close (); }} catch (ioException ex) {ex.printStackTrace (); }} try {result = new String (result.getBytes ("ISO8859-1"), "UTF-8"); } Catch (UnsupportedEnCodingException e) {// TODO Auto Generado Bloque E.PrintStackTrace (); } resultado de retorno; }}El siguiente es el método de solicitud
String mapparameter = new String ("tableID = 568bd32b305a2a31f604c650 & city = beijing & keywords =%20 & filtre = type: masseur limit = 15 & page = 1 & key =?"). GetBytes ("ISO8859-1"), "UTF-8");
String returnResult = httprequest.sendPost ("http://yuntuapi.amap.com/datasearch/local", mapparameter);
out.println ("<script> alert ("+returnResult+"); </script>");
La condición de filtrado que consultamos aquí es el campo que creamos nosotros mismos (y la establecemos en un campo de índice) Tipo: Massorger ----------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------
3. Servlet calcula la distancia entre dos latitudes y longitudes
Esta es la distancia entre el servlet y el personal de servicio a través de la latitud y la longitud. Esta es en realidad una relación de uno a muchos. Una persona que se sirve puede corresponder a que N personas que brindan servicios. La latitud y longitud del personal de servicio ubicado en la ubicación coincidirá con la latitud y la longitud de todo el personal de servicio buscado esta vez y calcular la distancia.
El siguiente es un método para calcular la distancia. Este es un método común que se aplica a todos los mapas principales.
public static double getDistance (Latlng Start, Latlng End) {Double Lat1 = (Math.Pi/180)*Start.latitude; doble lat2 = (math.pi/180)*end.latitude; doble lon1 = (math.pi/180)*inicio. Longitud; doble lon2 = (math.pi/180)*end.nongitude; doble r = 6371; doble d = Math.acos (Math.sin (Lat1)*Math.sin (Lat2)+Math.Cos (Lat1)*Math.Cos (Lat2)*Math.Cos (Lon2-Lon1))*r; regresar d*1000; } Latlng En el parámetro puede crear una clase usted mismo, que contiene dos campos de tipo doble. Uno representa la precisión y el otro representa la latitud.
El proceso generado mediante el uso de este método: cuando el usuario abre la interfaz de la aplicación del personal de servicio, solicita la interfaz para leer la lista del personal de servicio. En este momento, Servlet necesita consultar la información del personal de servicio en el mapa de la nube de Gaode una vez. Puede limitar el número de consultas y luego consultarlas. La latitud y la longitud en cada datos están en bucle y la latitud y la longitud transmitida por la interfaz de la aplicación que abre el personal de servicio, y calcula la distancia relativa. Puedo publicar un ensayo de iOS mañana, que corresponde a esta interfaz, publicado principalmente en el código de la base de datos de mapa de nubes de ubicación de tiempo implementada en iOS.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.