【问题标题】: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 或使用地理定位,我还希望“发件人”字段默认为用户的位置。
这样做的常见做法是什么(从可用性的角度来看)?你知道我可以参考的任何资源吗?
【问题讨论】:
标签:
android
ios
google-maps
cordova
jquery-mobile
【解决方案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