谷歌地图:在移动应用程序中嵌入多个位置和方向

Posted

技术标签:

【中文标题】谷歌地图:在移动应用程序中嵌入多个位置和方向【英文标题】:Google Maps: Embedding multiple locations and directions on a mobile app 【发布时间】:2012-12-26 20:30:40 【问题描述】:

我正在为拥有 4 个办公室/建筑物的医疗诊所创建一个移动应用。我想创建一个标记所有 4 个位置的谷歌地图,并为用户提供获取每个位置的路线的选项。

我正在 Phonegap 和 Jquery mobile 中构建这个应用程序。到目前为止,我发现的最接近的是:Direction example。

如果启用 GPS 或使用地理定位,我还希望“发件人”字段默认为用户的位置。

这样做的常见做法是什么(从可用性的角度来看)?你知道我可以参考的任何资源吗?

【问题讨论】:

【参考方案1】:

要在你的项目中使用 gps,你可以使用下面的代码

if (navigator.geolocation) 
navigator.geolocation.getCurrentPosition( 

    function (position)   

    // Did we get the position correctly?
    // alert (position.coords.latitude);

    // To see everything available in the position.coords array:
    // for (key in position.coords) alert(key)

    mapServiceProvider(position.coords.latitude,position.coords.longitude);

    , 
    // next function is the error callback
    function (error)
    
        switch(error.code) 
        
            case error.TIMEOUT:
                alert ('Timeout');
                break;
            case error.POSITION_UNAVAILABLE:
                alert ('Position unavailable');
                break;
            case error.PERMISSION_DENIED:
                alert ('Permission denied');
                break;
            case error.UNKNOWN_ERROR:
                alert ('Unknown error');
                break;
        
    );

可以找到here 或phonegap docs 当您拥有位置时,您可以更改 你的表格。然后就是使用插件的问题 谷歌地图与否。我个人没有使用任何。自从 您正在使用 jquery mobile 您可以使用 this 。

在初始化事件中创建地图(所以你只创建一次)和 在 pageshow 事件中触发 resize 事件,这样您就不会遇到问题 地图出现在屏幕的左上角等。 如果您使用我提到的插件,请查找刷新方法。 地图的容器必须有大小。如果没有的话 将无法正确显示,因为 jqm 将给出最小尺寸 到容器。您可以以编程方式进行(检查 窗口高度和宽度)并计算空间(如果有 您必须将其包含在计算中的标题)。 最后,如果您在缩放时遇到问题,请查看this

【讨论】:

感谢您的详细回答。 如果这回答了你的问题,你为什么不接受呢? meta.stackexchange.com/questions/5234/…【参考方案2】:

查看这篇关于Google Maps inside jQuery Mobile 的帖子。我认为这可以解决您的问题。

【讨论】:

以上是关于谷歌地图:在移动应用程序中嵌入多个位置和方向的主要内容,如果未能解决你的问题,请参考以下文章

离子应用谷歌地图显示 - 移动设备位置问题

Android 实时谷歌地图位置跟踪

当位置返回多个结果时,在谷歌地图中选择第一个匹配静态

Cordova 类似页面的应用程序中的多个谷歌地图

Flutter:如何使用“方向”启动谷歌地图应用程序到预定义的位置?

打开android原生谷歌地图应用程序获取从当前位置开始的方向