菜鸟教程小白 发表于 2022-12-12 16:21:45

ios - 在 iOS5 中打开原生 map 应用


                                            <p><p>您好我最近不得不使用cordova打开设备上安装的 nativemap 。到目前为止,这是我所做的:</p>

<pre><code>function getMapsUrl() {
   var isAndroid = navigator.userAgent.match(/Android/);
   var isIos = navigator.userAgent.match(/(iPhone|iPod|iPad)/);

   if (isAndroid) {
      return &#34;geo:0,0?q=&#34;;
   }

   if (isIos) {
       return &#34;maps:q=&#34;;
   }

   return &#34;http://maps.google.com/maps?q=&#34;;
}
</code></pre>

<p>这个函数在应用程序第一次打开时被评估,一个带有字符串 get 的变量被整个应用程序全局使用来创建看起来像这样的链接,具体取决于设备:</p>

<pre><code> &lt;a href=&#34;maps:q=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;iOS Version&lt;/a&gt;
&lt;a href=&#34;geo:0,0?q=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;Android Version&lt;/a&gt;
</code></pre>

<p>这适用于除 iOS5 以外的大多数设备。据我了解,这是因为苹果 map 是在 iOS6 中引入的,而 iOS5 仍然使用谷歌地图。</p>

<p>我已经尝试了所有这些以在 iOS5 上打开 nativemap 应用程序,但我没有运气:</p>

<pre><code>&lt;a href=&#34;http://maps.google.com/maps?q=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;Android Version Q&lt;/a&gt;
br/&gt;
&lt;a href=&#34;http://maps.apple.com/maps?q=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;iOS Version Q&lt;/a&gt;               
&lt;br/&gt;
&lt;a href=&#34;http://maps.google.com/maps?saddr=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;Android Version saddr&lt;/a&gt;
&lt;br/&gt;
&lt;a href=&#34;http://maps.apple.com/maps?saddr=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;iOS Version saddr&lt;/a&gt;
&lt;br/&gt;
   &lt;a href=&#34;maps:q=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;iOS curent Version&lt;/a&gt;
   &lt;br/&gt;
   &lt;a href=&#34;maps://maps.apple.com/?q=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;IOS with google maps&lt;/a&gt;
    &lt;br/&gt;
    &lt;a href=&#34;maps:q=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;iOS curent Version&lt;/a&gt;
    &lt;br/&gt;
    &lt;a href=&#34;comgooglemaps://?q=Linie 27, 5405 AR UDEN, Nederland&#34;&gt;From Google Docs for iOS app&lt;/a&gt;
    &lt;div data-bind=&#34;click: WindowOpenClick &#34;&gt;Window.Open&lt;/div&gt;
    &lt;div data-bind=&#34;click: WindowLocationClick&#34;&gt;Window.location&lt;/div&gt;
    &lt;div data-bind=&#34;click: WindowOpenClickBlackPage&#34;&gt;Window.Open Blank&lt;/div&gt;

function WindowOpenClick() {
      var mapsUrl = &#34;http://maps.google.com/maps?q=Linie 27, 5405 AR UDEN, Nederland&#34;;
      window.open(mapsUrl, &#39;_system&#39;, &#39;location=yes&#39;);
    }

    function WindowOpenClickBlackPage() {
      var mapsUrl = &#34;http://maps.google.com/maps?q=Linie 27, 5405 AR UDEN, Nederland&#34;;
      window.open(mapsUrl, &#39;_blank&#39;, &#39;location=yes&#39;);
    }

    function WindowLocationClick() {
      var mapsUrl = &#34;http://maps.google.com/maps?q=Linie 27, 5405 AR UDEN, Nederland&#34;;
      window.location.href = mapsUrl;
    }
</code></pre>

<p>我添加了上面的所有内容,但它们位于我的应用程序中的单独文件中。</p>

<p>有谁知道在 iOS5 中打开 map 应用的方法吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使用 Google Maps iOS 中提到的 URL 方案 <code>comgooglemaps://?q=Linie 27, 5405 AR UDEN, Nederland</code>。查看 <a href="https://developers.google.com/maps/documentation/ios/urlscheme" rel="noreferrer noopener nofollow">link</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 iOS5 中打开原生 map 应用,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19905590/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19905590/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 iOS5 中打开原生 map 应用