Как загрузить Google Street View в приложении UIWebView для iphone? - PullRequest
1 голос
/ 18 января 2011

Я пытаюсь использовать вид улицы Google Map в своем приложении, поэтому я пытаюсь загрузить html-файл в свое веб-представление.но для показа улиц нужен флеш плеер.

Требуется ли для этого Adobe Flash Player?

Кто-нибудь знает, как использовать просмотр улиц в нашем приложении для iPhone?

С уважением,

Ответы [ 2 ]

1 голос
/ 09 сентября 2016

Да, можно загрузить Google StreetView в UIWebView.Вот пример кода для загрузки Google StreetView -

let urlAddress = "http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=bran+castle&sll=44.439972,26.096894&sspn=0.000869,0.003664&ie=UTF8&hq=Bran+Castle&hnear=Bran+Castle,+Strada+General+Traian+Mo%C8%99oiu+nr.+28+E574,+Bran+507025,+Romania&t=k&layer=c&cbll=45.516381,25.368123&panoid=0d7jjq7vdWGTxFyonEKnBQ&cbp=12,209.81,,1,-18.52&ll=45.516381,25.368123&spn=0,0.008444&z=17";            
        
        let request = NSURLRequest(URL: NSURL(string: urlAddress)!)
        glWebView.loadRequest(request)

После загрузки этого StreetView.Google сообщит вам, что этот URL-адрес принадлежит только карте Google.Чтобы скрыть это предупреждающее сообщение, просто добавьте приведенный ниже запрос javascript в метод WebViewDidFinish -

webView.stringByEvaluatingJavaScriptFromString("document.getElementsByClassName('ml-unsupported-link-dialog-container')[0].style.display='none'")
0 голосов
/ 30 сентября 2016

Технически это невозможно, но если вы можете получить идентификатор панорамного изображения для этой конкретной широты и долготы, то это возможно. В моем предыдущем ответе я сказал, что это возможно, потому что я знаю идентификатор панорамы для этого конкретного места. Используя этот код, вы можете открыть steetview в вашем UIWebview, но он покажет предупреждение. При касании в любом месте вашего веб-просмотра исчезнет это предупреждение.

Но Google представит SDK, чтобы загружать вид улиц в ваше приложение для iOS, вместо того, чтобы выходить из приложения. Все, что вам нужно сделать, это добавить SDK GoogleMaps с помощью какао-бобов и запустить приведенный ниже исходный код, чтобы отобразить Google Streetview для определенной широты и долготы.

let panoSvc = GMSPanoramaService()
            panoSvc.requestPanoramaNearCoordinate(CLLocationCoordinate2D(latitude: 32.847683, longitude: -96.771638), radius:100, callback: { (panorama, error) in
                if error == nil {
                    DispatchQueue.main.async(execute: {
                        let panoView = GMSPanoramaView(frame: .zero)
                        self.view = panoView
                        panoView.moveNearCoordinate((panorama?.coordinate)!, radius: 200)
                        print("Panorama ID: ", panorama?.panoramaID)
                        print("Panorama Co-ordinate: ", panorama?.coordinate)
                    })
                }
                else {
                    Utility.showCustomMsg(self.view, label: "Not Found", detailslbl:"Street View is not available for this location.", isSuccessImg: false, duration: 3)
                    {
                        self.navigationController?.popViewController(animated: true)
                    }
                }
            })

Круто да ...... Спасибо Google за их крутой персонал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...