1
votes

Créer une image de carte via la latitude et la longitude dans iOS swift4

Grâce à l'API, j'ai la latitude et la longitude pour un emplacement particulier, je dois afficher ces coordonnées sur la vue d'image sous forme de carte. Je souhaite dessiner une image de vue cartographique à travers ces coordonnées. Vous voulez montrer l'emplacement particulier ainsi que par lat long. Comment puis-je le faire?


2 commentaires

votre question ne semble pas claire alors pouvez-vous s'il vous plaît l'expliquer d'une meilleure manière comme ce que vous voulez exactement et si vous avez fait un code de type alors pour lequel vous avez besoin d'aide, alors prouvez ce code dans la question qui sera mieux pour nous pour vous aider


Je veux afficher la carte sur la vue Image, j'ai déjà lat et long pour l'emplacement. besoin de ceux-ci par programme.


4 Réponses :


1
votes

Je ne sais pas si vous lisez la documentation, ma solution était comme ceci

map.isZoomEnabled = false

Et vous pouvez verrouiller le zoom avec ce code

func zoomToLocation(with coordinate: CLLocationCoordinate2D) {
    //You can change the meters as you wish
    let region = MKCoordinateRegion(center: coordinate, latitudinalMeters: 5000, longitudinalMeters: 5000)
    map.setRegion(region, animated: true)
}


1 commentaires

Ensuite, vous pouvez prendre une capture d'écran de mapView ici



0
votes

Au lieu de capturer un instantané de la carte, puis de l'afficher dans imageview , mettez mapview ici. Définissez votre emplacement souhaité sur la carte. Et désactivez l'interaction utilisateur de mapview .

Voici le code correspondant.

let location = GMSCameraPosition.camera(withLatitude: yourLatitude, longitude: yourLongitude, zoom: 17.0) // Set zoom level according to your requirement
mapView.animate(to: location)


0 commentaires

2
votes
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

    if locationUpdate == false {
        locationUpdate = true
        guard let locValue: CLLocationCoordinate2D = manager.location?.coordinate else { return }
        print("locations = \(locValue.latitude) \(locValue.longitude)")
        var latStr = ""
        var longStr = ""
        latStr = String(locValue.latitude)
        longStr = String(locValue.longitude)

        let staticMapUrl = "http://maps.google.com/maps/api/staticmap?markers=color:blue|\(latStr),\(longStr)&\("zoom=10&size=400x300")&sensor=true&key=AIzaSyBXAdCe4nJuapECudMeh4q-gGlU-yAMQX0"

        print(staticMapUrl)

        let url = URL(string: staticMapUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)

        do {
            let data = try NSData(contentsOf: url!, options: NSData.ReadingOptions())
            imgLocationOnMap.image = UIImage(data: data as Data)
        } catch {
            imgLocationOnMap.image = UIImage()
        }


    }
}

0 commentaires

0
votes
func updateMap(_ coordinates : CLLocationCoordinate2D){
    var mapRegion = MKCoordinateRegionMakeWithDistance(coordinates, 0, 0)
    mapRegion.center = coordinates
    cMap.setRegion(mapRegion, animated: true)
    let artwork = Artwork(title: "",
      locationName: "",
      coordinate: coordinates)
      cMap.removeAnnotations(cMap.annotations)
      cMap.addAnnotation(artwork)
}

0 commentaires