【问题标题】:Shape,polygon, not showing on GoogleMaps swift形状,多边形,未在 GoogleMaps swift 上显示
【发布时间】:2018-08-28 01:10:06
【问题描述】:

我无法让我的多边形显示在地图上。下面是我的代码。

import UIKit

import MapKit

import CoreLocation

import GoogleMaps

import GooglePlaces

class ViewController: UIViewController{


    @IBOutlet weak var mapView: GMSMapView!



        //private let locationManager = CLLocationManager()

        var placesClient: GMSPlacesClient!

        var locationManager = CLLocationManager()
        var mapsView : GMSMapView!
        var zoomLevel: Float = 15.0
        var polygon = GMSPolygon()
        var didFindMyLocation = false
       // let overlay = UIView()


        let defaultLocation = CLLocation(latitude: -33.869405, longitude: 151.99)
    let path = GMSMutablePath()



        override func viewDidLoad() {

            super.viewDidLoad()

            mapsView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

            mapsView.isMyLocationEnabled = true

            view.addSubview(mapsView)

            mapsView.isHidden = true


        }

    func createpolygon() {
        // Create a rectangular path
        let rect = GMSMutablePath()
        rect.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
        rect.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.0))
        rect.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.2))
        rect.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.2))

        // Create a polygon and assign it to the map.
        let polygon = GMSPolygon(path: rect)
        polygon.fillColor = UIColor(red: 0.25, green: 0, blue: 0, alpha: 0.05);
        polygon.strokeColor = .black
        polygon.strokeWidth = 2
        polygon.map = mapsView
    }

我不知道是否需要添加叠加层。

【问题讨论】:

    标签: ios swift google-maps polygon


    【解决方案1】:

    你有两个 mapView 只使用其中一个

    @IBOutlet weak var mapView: GMSMapView!
    var mapsView : GMSMapView!
    

    这样

    class ViewController: UIViewController{
    
    @IBOutlet weak var mapView: GMSMapView!
    
    
        //private let locationManager = CLLocationManager()
    
        var placesClient: GMSPlacesClient!
    
        var locationManager = CLLocationManager()
        var zoomLevel: Float = 15.0
        var polygon = GMSPolygon()
        var didFindMyLocation = false
       // let overlay = UIView()
    
    
        let defaultLocation = CLLocation(latitude: -33.869405, longitude: 151.99)
    let path = GMSMutablePath()
    
    
    
        override func viewDidLoad() {
    
            super.viewDidLoad()
    
            mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    
            mapView.isMyLocationEnabled = true
    
            mapView.isHidden = true
    
    
        }
    
    func createpolygon() {
        // Create a rectangular path
        let rect = GMSMutablePath()
        rect.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
        rect.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.0))
        rect.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.2))
        rect.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.2))
    
        // Create a polygon and assign it to the map.
        let polygon = GMSPolygon(path: rect)
        polygon.fillColor = UIColor(red: 0.25, green: 0, blue: 0, alpha: 0.05);
        polygon.strokeColor = .black
        polygon.strokeWidth = 2
        polygon.map = mapView
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 1970-01-01
      • 2013-12-07
      • 1970-01-01
      相关资源
      最近更新 更多