【问题标题】:Localstorage my geolocation本地存储我的地理位置
【发布时间】:2012-08-11 12:47:18
【问题描述】:

我想制作一个应用程序,它可以获取我的坐标并在谷歌地图中显示它们(使用 phonegap 并在模拟器 2.2 上进行测试)。然后将这些坐标存储在本地存储中。我以前从未使用过本地存储,所以我不确定如何执行此操作。我得到了地理定位部分的工作。如果有人可以调整我的代码或显示一个解释如何保存我将检索的纬度/经度的教程,因为我没有很多使用网络语言的经验。将不胜感激。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <html>

         <head>

    <meta name="viewport" content="width=device-width; height=device-height; user-scalable=no" />

    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Beer Me</title>
    <link rel="stylesheet" href="/master.css" type="text/css" media="screen" />
   <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
    <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
    <script type="text/javascript">

    function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
    }

    function onDeviceReady() {

    }

    //GEOLOCATION
    var onSuccess = function(position) {
        var myLat = position.coords.latitude;
        var myLong = position.coords.longitude;

        //MAP
        var mapOptions = {
            center: new google.maps.LatLng(myLat, myLong),
            zoom: 14,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

    var map = new google.maps.Map(document.getElementById("map_canvas"),
                                      mapOptions);

        var marker = new google.maps.Marker({
                                            position: new google.maps.LatLng(myLat, myLong),
                                            map: map,
                                            title:"Hello World!"
                                            });

    };

    // onError Callback receives a PositionError object
    //
    function onError(error) {
        alert('code: '    + error.code    + '\n' +
              'message: ' + error.message + '\n');
    }



    navigator.geolocation.getCurrentPosition(onSuccess, onError,{'enableHighAccuracy':true,'timeout':10000});

         </script>
         </head>
         <body onload="onLoad()"> 
         <div id="map_canvas" style="width:400px; height: 400px;">
    </div>
         </body>
         </html>

【问题讨论】:

  • 如果只有一对坐标我会使用(SharePreferences)developer.android.com/reference/android/content/…
  • 我希望应用程序每次启动应用程序时都保存坐标。或者稍后我可能会使其每隔一秒左右更新一次。所以我需要超过 1 对坐标。

标签: android cordova geolocation local-storage


【解决方案1】:

我建议你使用 Android 中的 SQLite Databases

然后您可以使用两个字段存储位置并使用 SQL 查询访问数据。

一个不错的教程是来自Lars Vogel

您还可以使用 Android 中的 Internal Storage。使用简单文件很容易,但不如 sql 变体强大。当数据量增加时,读取和存储到文件变得更加繁琐。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多