1

XIB ファイルを作成して、InfoWindow でカスタム マーカーを作成しました。しかし、ユーザーがどのマーカーをクリックしたかをユーザーが知ることができるように、そのマーカーにも下向き矢印を付けたいと思います。

そして、infoWindowをマーカーから少し上に移動したい..上に移動していないそのbuのコードを書き留めました。

以下の私のコード

——————-----------

    googleMapView.delegate = self
    var visibleRegion : GMSVisibleRegion =  googleMapView.projection.visibleRegion()
    var bounds = GMSCoordinateBounds(coordinate: visibleRegion.nearLeft, coordinate: visibleRegion.farRight)


    for Prop: Property in properties
    {

        var latStr = Prop.lat as NSString
        var latDbl : Double  = Double(latStr.floatValue)
        var langStr = Prop.lang as NSString
        var langDbl : Double = Double(langStr.floatValue)

        var marker = GMSMarker()


        let initialLocation = CLLocationCoordinate2DMake(latDbl, langDbl)
        let initialDirection = CLLocationDirection()

        let camera = GMSCameraPosition.cameraWithTarget(initialLocation, zoom: 11)

        googleMapView.camera = camera
        marker.position = CLLocationCoordinate2DMake(latDbl,langDbl)
        //println("latitude: \(latDbl)")
        //println("longitude: \(langDbl)")

        marker.appearAnimation = kGMSMarkerAnimationPop
        marker.icon = UIImage(named: "Map_Marker_Green")
        marker.title = Prop.buildingName as String
        marker.snippet = Prop.proCode as String
        marker.infoWindowAnchor = CGPointMake(0.44, 0.45);
        marker.map = googleMapView
        println("Snippet \(marker.snippet)")

    }

マーカーと InfoWindow ヒントのコード ——————————————————————————————————</p>

    func mapView(mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView! {

        var infoWindow :CustomInfoWindow = NSBundle.mainBundle().loadNibNamed("PropertyInfoWindow", owner: self.view, options: nil).first! as! CustomInfoWindow

        infoWindow.proCode = marker.snippet
        infoWindow.title.text = marker.title
        infoWindow.title.layer.cornerRadius = 10
        infoWindow.layer.cornerRadius = 10
        infoWindow.frame = CGRectMake(infoWindow.frame.minX,infoWindow.frame.minY-100,infoWindow.frame.width,infoWindow.frame.height)
        return infoWindow
    }



    func mapView(mapView: GMSMapView!, didTapInfoWindowOfMarker marker: GMSMarker!) {
        var prop: Property = returnPropObj(marker.snippet)
        println(prop.buildingName)
        dispatch_async(dispatch_get_main_queue())
        {
            let unitListingController = self.storyboard?.instantiateViewControllerWithIdentifier("UnitListing") as! UnitListingController
            unitListingController.property = prop
            self.showViewController(unitListingController as UIViewController, sender: unitListingController )
        }

    }

誰でもこのコードを調べて、提案があれば教えてもらえますか? 助けてくれてありがとう!

4

3 に答える 3