1

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

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

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

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

4

2 回答 2

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;
        }
    });
}

可以在此处phonegap 文档中找到。 当您拥有该位置时,您可以更改表单的值。然后是是否使用谷歌地图插件的问题。我个人没有使用任何。由于您使用的是 jquery mobile,因此您可以使用

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

于 2012-12-27T14:20:12.217 回答
0

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

于 2012-12-27T12:20:21.690 回答