我正在尝试在我的应用中使用谷歌地图街景,所以我想在我的Webview中加载html文件。但是需要flash播放器来显示街景。
这需要adobe flash播放器吗?
任何人都知道如何在我们的iPhone应用中使用街景?
此致
答案 0 :(得分:1)
是的,可以在UIWebView中加载Google StreetView。以下是加载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)

加载此街景后。 Google会向您发出此网址仅属于Google地图的提醒。要隐藏该警报消息,只需在WebViewDidFinish方法中添加以下javascript查询 -
webView.stringByEvaluatingJavaScriptFromString("document.getElementsByClassName('ml-unsupported-link-dialog-container')[0].style.display='none'")

答案 1 :(得分:0)
从技术上讲,这是不可能的,但是如果你可以获得特定纬度和经度的全景图像ID,那么它是可能的。在我之前的回答中,我说这是可能的,因为我知道该特定位置的全景ID。使用该代码,您可以在UIWebview中打开steetview,但它会显示警告。通过触摸webview中的任何位置,该消息将消失。
Bu谷歌介绍SDK在你的iOS应用程序中加载streetview,而不是离开你的应用程序。您需要做的就是添加GoogleMaps' sdk使用可可豆荚并运行以下源代码,以显示特定纬度和经度的谷歌街景。
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的员工。