Localstorage my geolocation

删除回忆录丶 提交于 2020-01-03 02:55:10

问题


I want to make an app which gets my coördinates and shows them in google maps (using phonegap and testing on emulator 2.2). Then stores those coördinates in localstorage. I have never used localstorage before so i am not sure on how to do this. I got the geolocation part working. If anyone could adjust my code or show a tutorial which explains how to save the lat/long that i will retreive as i don't have a lot of experience using web-langauges. It would be greatly appreciated.

    <!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>

回答1:


I would suggest you use the SQLite Databases from Android.

You can then store the locations with two fields and access the data with SQL queries.

A nice tutorial is the one from Lars Vogel.

You could also use the Internal Storage from Android. Using a simple file is easy but not as powerful as the sql variant. When the data size increases reading and storing to the file becomes more cumbersome.



来源:https://stackoverflow.com/questions/11965653/localstorage-my-geolocation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!