Il y aura plus d'essais sur la carte Gaode.
1. Description de l'entreprise
Il existe deux types de membres dans le secteur de l'application correspondant: l'un est le personnel de service et l'autre est le personnel de service. Il réalise principalement les fonctions et localise l'emplacement du personnel de service dans l'application en temps opportun. Ensuite, l'unité de distance m entre le personnel de service et le personnel de service est calculée par une latitude et une longitude fournies lorsque le personnel de service se connecte à l'application.
Ce qui suit est l'intégralité du processus détaillé, de la création d'une application correspondante de Gaode (je n'en parlerai pas si vous vous inscrivez ici) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Créez l'application Gaode Map correspondant au servlet et créez votre propre table de base de données Cloud Map
Après avoir enregistré un compte, connectez-vous et cliquez sur la console dans le coin supérieur droit. L'interface suivante apparaîtra. J'ai pris une capture d'écran.
Bien sûr, c'est l'interface que j'ai enregistrée. Si vous ne vous inscrivez pas, obtenez simplement la clé. Cliquez ici directement pour créer votre application. Vous pouvez obtenir le nom de l'application à volonté, car nous sommes des servlets ici pour le gérer.
Activités connexes, donc l'option est l'API du service Web. Ici, vous cliquez pour obtenir la clé et la capture d'écran ci-dessous apparaîtra.
Une fois cette étape terminée, nous pouvons créer le graphique cloud que nous voulons, entrez la console, sélectionner la souris pour passer à mes données, puis sélectionner la station de gestion des données (Web) ci-dessous pour entrer l'interface pour ajouter des graphiques cloud.
Vous trouverez ci-dessous une capture d'écran après être entré. Après cette capture d'écran, je l'expliquerai directement dans le texte.
La capture d'écran ci-dessus est le résultat que j'ai créé. Ici, nous devons d'abord cliquer sur le téléchargement du modèle de données dans le coin supérieur droit. Après avoir téléchargé le modèle, modifiez les données correspondantes, ajoutez les champs dont vous avez besoin, puis cliquez sur la nouvelle carte pour
Le modèle modifié est importé dans la bibliothèque cloud. Ce modèle est en fait une table de base de données exportée par Excel. Ci-dessous, j'intercepte directement le tableau que j'ai créé. J'ai ajouté deux champs à ce tableau et réglé un champ sur le champ d'index.
N'oubliez pas que le nom du champ rouge doit être conservé (le contenu peut être modifié à volonté), qui est inclus dans le modèle système. Les deux champs noirs à la fin sont ajoutés par eux-mêmes et peuvent être modifiés à volonté. Même si vous le téléchargez sur le serveur Gaode Cloud Map, il peut être modifié.
Après avoir téléchargé le tableau ci-dessus, vous ouvrirez la gestion des données (Web) précédente et l'interface de la carte précédente apparaîtra. Un bloc de carte apparaît à gauche. Cliquez et vous verrez les informations détaillées de la personne que vous avez téléchargée, ainsi que le logo d'étoiles à cinq points jaune affiché sur la carte à travers la latitude et la longitude téléchargées. Il y a des captures d'écran ci-dessous
Les champs affichés dans ce tableau sont modifiés par moi, et non téléchargés dans Excel tout à l'heure. Cliquer sur le titre dans la colonne peut créer une série de paramètres. Je n'entrerai pas dans les détails.
Parlez simplement des paramètres du champ d'index.
Après entrée, j'ai choisi de filtrer l'index de tri -> Filtre l'index de tri est de définir une condition de filtre pour les champs nouvellement ajoutés de l'utilisateur.
J'utilise le type d'utilisateur pris dans l'image cloud ci-dessus. Je vais également en prendre une photo pour vous.
À ce stade, nous terminerons l'intégralité des étapes de la création et du téléchargement de la carte cloud. . . Ensuite, je parlerai de la méthode appelée.
2. Méthode de demande de bibliothèque d'images cloud de requête de servlet
1. Premier publier l'adresse du document du développeur:
http://lbs.amap.com/yuntu/reference/cloudsearch/ Je vous suggère de le vérifier moi-même
Ici, le servlet utilise l'API Cloud Retrieval et l'application correspondante utilise l'API de stockage cloud. Peut-être que demain, un article sur le lieu de temps du client iOS correspondant à cette interface sera ajouté.
Vous trouverez ci-dessous le format URL épissé. Entrez actualiser directement dans l'URL pour obtenir les données pertinentes par Get.
http://yuntuapi.amap.com/dataSearch/local?TableId=568BD32B305A2A31F604C650&City=beijing&keywords=%20&filter=Type: Service Staff Limit = 15 & Page = 1 & key =? (La clé des paramètres ici est la vôtre)
Vous trouverez ci-dessous le code de méthode de demande encapsulée
Helper à forfait; Importer java.io.bufferedReader; import java.io.ioexception; import java.io.inputStreamReader; import java.io.printwriter; import java.io.unsuppordedencomexception; import java.net.url; importer java.net.url; import; java.util.map; classe publique HttpRequest {/ ** * Envoyez la demande de méthode GET à l'URL spécifiée * * @param URL * URL pour envoyer la demande * @param param * des paramètres de demande, les paramètres de demande doivent être sous la forme de nom1 = valeur1 & name2 = valeur2. * @return URL Résultat Résultat de la ressource distante représentée par la ressource distante * / public static String sendGet (String URL, String Param) {String result = ""; BufferedReader dans = null; essayez {String urlNmestring = url + "?" + param; URL REALURL = NOUVELLE URL (URLNAMESTRING); // Ouvrez la connexion entre la connexion URL URLConnection = realUrl.OpenConnection (); // Définissez la connexion d'attribut de demande générale.SetRequestProperty ("accepter", "* / *"); connection.setRequestProperty ("connexion", "keep-alive"); connection.setRequestProperty ("User-Agent", "Mozilla / 4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); // Créer une connexion de connexion réelle.Connect (); // Obtenez tous les champs d'en-tête de réponse map <string, list <string >> map = connection.geTheaderFields (); // Traverse tous les champs d'en-tête de réponse pour (clé de chaîne: map.KeySet ()) {System.out.println (key + "--->" + map.get (key)); } // Définissez le flux d'entrée BufferedReader pour lire la réponse de l'URL dans = new BufferedReader (new InputStreamReader (connection.getInputStream ())); Ligne de chaîne; while ((line = in.readline ())! = null) {result + = line; }} catch (exception e) {System.out.println ("Exception s'est produite lors de l'envoi d'une demande de GET!" + E); e.printStackTrace (); } // Utiliser enfin le bloc pour fermer le flux d'entrée enfin {try {if (in! = Null) {in.close (); }} catch (exception e2) {e2.printStackTrace (); }} Retour Résultat; } / ** * Envoyez une demande à l'URL spécifiée * @param URL * URL pour envoyer la demande * @param paramètre param * de la demande, le paramètre de demande doit être dans le formulaire de name1 = value1 & name2 = value2. * @return Résultat Résultat de la ressource distante représentée par * / public static String sendPost (URL de chaîne, chaîne param) {printwriter out = null; BufferedReader dans = null; Résultat de chaîne = ""; essayez {url realUrl = new url (url); // Ouvrez la connexion entre UrlConnection Conn = realUrl.OpenConnection (); // Définissez l'attribut général de la demande Conn.SetRequestProperty ("accepter", "* / *"); Conn.SetRequestProperty ("Connexion", "Keep-Alive"); Conn.SetRequestProperty ("User-Agent", "Mozilla / 4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); // Pour envoyer une demande de poste, vous devez définir les deux lignes suivantes sur Conn.SetDoOutput (true); Conn.SetDoInput (true); // obtient le flux de sortie correspondant à l'objet UrlConnection OUT = new printwriter (conn.getOutputStream ()); // Envoyez le paramètre de demande Out.print (param); // tampon out.flush () du flux de sortie de flux; // Définissez le flux d'entrée BufferedReader pour lire la réponse URL dans = new BufferedReader (new InputStreamReader (Conn.getInputStream ())); Ligne de chaîne; while ((line = in.readline ())! = null) {result + = line; }} catch (exception e) {System.out.println ("Exception s'est produite lors de l'envoi d'une demande post!" + E); e.printStackTrace (); } // Utiliser les blocs enfin pour fermer le flux de sortie et le flux d'entrée enfin {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 (UnportEnCoDingException e) {// Bloc de catch généré automatiquement de TODO E.PrintStackTrace (); } Retour Résultat; }}Ce qui suit est la méthode de demande
String MapparAmètre = new String ("TableID = 568BD32B305A2A31F604C650 & City = Beijing & Keywords =% 20 & Filter = Type: Masseur Limit = 15 & Page = 1 & Key =?"). GetBytes ("ISO8859-1"), "UTF-8");
String returnResult = httprequest.sendPost ("http://yuntuapi.amap.com/dataSearch/local", mapparamètre);
out.println ("<cript> alert (" + returnResult + "); </cript>");
La condition de filtrage que nous interrogeons ici est le champ que nous avons créé nous-mêmes (et nous le définissons sur un champ d'index) Type: Masser ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3. Le servlet calcule la distance entre deux latitudes et longitudes
Il s'agit de la distance entre le servlet et le personnel de service par la latitude et la longitude. Il s'agit en fait d'une relation un-à-plusieurs. Une personne servie peut correspondre à N personnes qui fournissent des services. La latitude et la longitude du personnel de service situées à l'emplacement correspondent à la latitude et à la longitude de tout le personnel de service trouvé ce temps et calculera la distance.
Ce qui suit est une méthode de calcul de la distance. Il s'agit d'une méthode courante qui s'applique à toutes les principales cartes.
public static double getDistance (latlng start, latlng end) {double lat1 = (math.pi / 180) * start.latitude; double lat2 = (math.pi / 180) * end.Latitude; double lon1 = (math.pi / 180) * start.longitude; double lon2 = (math.pi / 180) * end.longitude; Double R = 6371; double d = math.acos (math.sin (lat1) * math.sin (lat2) + math.cos (lat1) * math.cos (lat2) * math.cos (lon2-lon1)) * r; retour d * 1000; } Latlng Dans le paramètre, vous pouvez créer une classe vous-même, qui contient deux champs de type double. L'un représente la précision et l'autre représente la latitude.
Le processus généré en utilisant cette méthode: lorsque l'utilisateur ouvre l'interface de l'application du personnel de service, il demande l'interface pour lire la liste du personnel de service. À l'heure actuelle, Servlet doit interroger les informations du personnel du service dans la carte cloud de Gaode une fois. Vous pouvez limiter le nombre de requêtes, puis les interroger. La latitude et la longitude dans chaque données sont bouclées et la latitude et la longitude transmises par l'interface de l'application qui est ouverte par le personnel de service et calculent la distance relative. Je peux publier un essai iOS demain, qui correspond à cette interface, principalement publiée sur le code de la base de données de carte du cloud de lieu de temps implémenté sur iOS.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.