J'ai une liste (NsmutableArray) de Latlong entourant la région de la ville de Dhaka. Vous voulez maintenant vouloir déterminer une Lat Long fourni dans la région de la ville de Dhaka.
Mon code est fourni ci-dessous: p> } p> maintenant si je fournis une lat longue par exemple par exemple
Lat = 23.665219 et long = 90400023
Comment puis-je déterminer la Lat Long est dans la région de la ville de Dhaka P> Merci d'avance. P> p>
3 Réponses :
Les demandes de géocodage inverses prennent une valeur de latitude et de longitude et trouvent une adresse lisible par l'utilisateur. Vous devrez nourrir votre lat, LON à un géocodeur inverse pour déterminer l'adresse (pays, partie de la ville) et déterminer s'il se situe dans la ville de votre intérêt. P>
Vous pouvez utiliser l'API CLGEOCODER pour obtenir ce que vous voulez: https://developer.apple .com / Documentation / Corelocation / Cligeocoder Découvrez les discussions ici pour une question similaire: Comment vérifier si la lat long est dans la limite de la ville p>
API de géocodage de Google ici: https://developers.google.com/maps/ Documentation / géocodage / Intro P>
Votre tâche, comme il me semble que cela me semble, est un problème point in-polygone (pip) [ https://fr.wikipedia.org/wiki/org/wiki/point_in_polygon]
Pour atteindre ce que vous voulez utiliser, vous pouvez utiliser "Algorithme de coulée de rayons" P>
J'ai fait une mise en œuvre assez rapide de cet algorithme , afin que vous puissiez partir de ce p> Vous pouvez utiliser le code comme celui-ci: p>
Pointinregion est une classe dans laquelle j'ai inclus Al le code. Appelez simplement le code suivant: CllouerCoordinated2D Point; point.Latitude = 23.665219; point.longitude = 90.400023; [Pointinregion Checkifpoint: (CllouerCoordinated2D) Inregistrion Point: [Pointinregion GetavailableAddress]];
Enfin, je reçois une Sollution à l'aide de GmsgeometryContainsLocation, et cela fonctionne plus précisément et bien.
if (GMSGeometryContainsLocation(locationPoint, polygonPath, YES)) { NSLog(@"locationPoint is in polygonPath."); } else { NSLog(@"locationPoint is NOT in polygonPath."); }
Vous devez montrer ce que vous avez essayé, plutôt que de simplement donner les données. Pour vous aider à essayer de regarder Cette question . Ht