【问题标题】:How to open Google Street View in UIWebView?如何在 UIWebView 中打开谷歌街景?
【发布时间】:2011-08-02 14:43:42
【问题描述】:

我正在尝试在 UIWebView 中打开街景,但它不起作用。我只能看到法线贴图。我该如何解决?还有其他可能吗?

这是我的代码:

NSString *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";

//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];

//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.
[webV loadRequest:requestObj];

【问题讨论】:

  • 什么不起作用?给我们更多细节。
  • 我只看到普通的 2d 地图而不是街景 :( 我真的不知道如何打开街景
  • 这可以通过在您的应用程序中嵌入包含 Google Map 控件的 html 页面来完成。请参阅this answer 中的第 2 段。
  • 好的,谢谢。我希望它会工作。

标签: iphone ios4 iphone-sdk-3.0


【解决方案1】:

尝试为您的 UIWebview 加载此代码:

NSString *latLongString =[NSString stringWithFormat:@"%f,%f", latitude, longitude];

[_uiWebView loadHTMLString:[NSString stringWithFormat:@"<html><head><meta name='viewport',user-scalable=no'/><script src='http://maps.google.com/maps/api/js?sensor=false'type='text/javascript'></script></head><body onload=\"new google.maps.StreetViewPanorama(document.getElementById('p'),{position:new google.maps.LatLng(%@)});\" style='padding:0px;margin:0px;'><div id='p' style='height:100%%; width:100%%;'></div></body></html>",latLongString] baseURL:nil];

【讨论】:

    【解决方案2】:

    没有。你做不到。

    看这里 但你可以喜欢这个

    http://maps.google.com/?q=Tokyo@35.680,139.769

    你可以将此链接传递给你的 webview 来加载它。

    看这里

    Does MapKit allow for StreetView?

    【讨论】:

    • 感谢您的回答,但我不明白这个:“看这里,但你可以喜欢这个maps.google.com/?q=Tokyo@35.680,139.769”这是什么意思?我可以在街景中以某种方式使用它吗?谢谢
    • 你可以将此链接传递给你的 webview 来加载它。点击看看发生了什么
    【解决方案3】:

    只需在您的 webView 和 webViewDidFinishLoad 方法中运行 Google 地图 url 请求,添加以下行以隐藏警报。 webView.stringByEvaluatingJavaScriptFromString("document.getElementsByClassName('ml-unsupported-link-dialog-container')[0].style.display='none'")

    这是在 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)

    【讨论】:

      猜你喜欢
      • 2018-07-31
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多