我正在创建一个Android Map应用程序,我想在当前位置创建标记,并显示以前的这些标记。我能够在当前位置创建标记但是当我在不同位置恢复应用程序时,我的应用程序仅显示当前位置标记而不是之前的位置标记。请帮忙。这是我试过的:
<body class="w3-container">
<div class="w3-progress-container w3-round-xlarge">
<div id="myBar" class="w3-progressbar w3-round-xlarge" style="width:1%"></div>
</div>
<button class="w3-btn" onclick="move()">Click Me</button>
<script>
function widthGenerator() {
var question = prompt("Enter number of hours worked:", "Enter here");
var parseQuestion = parseInt(question, 10);
if (isNaN(Number(question))) {
var width = (question * 2.33463);
} else {
question = prompt("That is not a number; Enter the number of hours worked:", "Enter here");
};
return width;
}
function move() {
var elem = document.getElementById("myBar");
var id = setInterval(frame, 1);
var startWidth = 0;
var generateWidth = widthGenerator()
function frame() {
if (width >= 100) {
clearInterval(id);
} else {
for (var x = startWidth; x < generateWidth; x++) {
elem.style.width = x + '%';
}
}
}
}
</script>
</body>
答案 0 :(得分:1)
请注意:
getLastLocation()
方法可能会返回空值:getLastLocation Documentation super.onStart()
,super.onPause()
和super.onStop()
应该是onStart()
,onPause()
和onStop()
方法中的第一条说明。 More infos about Activity Lifecycle and methods overriding 在onPause()
方法中,您在文件中保存了listOfPoints
中包含的位置,但您从未将最后的已知位置添加到该列表中。您可能希望在onConnect()
方法中添加它。
编辑:启动应用时,会调用onCreate()
,onStart()
和onResume()
方法(see Activity Lifecycle)。这意味着,当地图尚未准备就绪时,可能会调用addMarker()
方法。您可能只想在之前调用onMapReady()
方法时添加标记。
编辑(因为您更新了代码):
openFileOutput("latlngpoints.txt", Context.MODE_APPEND)
代替Context.MODE_PRIVATE
onMapReady()
或onConnected(Bundle connectionHint)
中阅读文件中的标记,就像你在onResume()
方法中一样(因为当你运行应用程序时,地图不会准备就绪然而,除了onResume()
)另请注意,您的文件可能会包含重复项