我正在为拥有 4 个办公室/建筑物的医疗诊所创建一个移动应用程序。我想创建一个标记所有 4 个位置的谷歌地图,并为用户提供获取每个位置的路线的选项。
我正在 Phonegap 和 Jquery mobile 中构建这个应用程序。到目前为止,我发现的最接近的是:Direction example。
如果启用 GPS 或使用地理定位,我还希望“发件人”字段默认为用户的位置。
这样做的常见做法是什么(从可用性的角度来看)?你知道我可以参考的任何资源吗?
我正在为拥有 4 个办公室/建筑物的医疗诊所创建一个移动应用程序。我想创建一个标记所有 4 个位置的谷歌地图,并为用户提供获取每个位置的路线的选项。
我正在 Phonegap 和 Jquery mobile 中构建这个应用程序。到目前为止,我发现的最接近的是:Direction example。
如果启用 GPS 或使用地理定位,我还希望“发件人”字段默认为用户的位置。
这样做的常见做法是什么(从可用性的角度来看)?你知道我可以参考的任何资源吗?
要在您的项目中使用 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 将为容器提供最小大小。您可以以编程方式进行(检查窗口高度和宽度)并计算空间(如果有标题,则必须将其包含在计算中)。最后,如果您在缩放时遇到问题,请查看此
查看这篇关于jQuery Mobile 中的 Google 地图的帖子。我认为这可以解决您的问题。