Skip to content

Commit

Permalink
更新 打开地图回到当前保存点
Browse files Browse the repository at this point in the history
  • Loading branch information
gallonyin committed Jun 25, 2018
1 parent 03d2fc7 commit 1b9e6b2
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 17 deletions.
12 changes: 7 additions & 5 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

<!--腾讯地图 SDK 要求的权限(开始)-->
<!--访问网络获取地图服务-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INTERNET" />
<!--检查网络可用性-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 访问WiFi状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--需要外部存储写权限用于保存地图缓存-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--获取 device id 辨别设备-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--腾讯地图 SDK 要求的权限(结束)-->

<application
Expand All @@ -25,7 +25,7 @@
<!-- 腾讯地图(可自行去腾讯开放平台申请key后替换) -->
<meta-data
android:name="TencentMapSDK"
android:value="YWHBZ-AH7K6-O3MSV-MI7DO-A3SKK-NGBBE"/>
android:value="YWHBZ-AH7K6-O3MSV-MI7DO-A3SKK-NGBBE" />

<!-- 是否是xposed模块,xposed根据这个来判断是否是模块 -->
<meta-data
Expand All @@ -50,6 +50,8 @@
</intent-filter>
</activity>
<activity android:name=".TencentMapActivity" />

<service android:name=".MainActivity$LongRunningService" />
</application>

</manifest>
35 changes: 34 additions & 1 deletion app/src/main/java/org/gallonyin/weworkhk/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
package org.gallonyin.weworkhk;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CheckBox;
Expand Down Expand Up @@ -53,7 +58,7 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
findViewById(R.id.bt_gps).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TencentMapActivity.enterActivity(MainActivity.this, "http://lbs.qq.com/tool/getpoint/index.html");
TencentMapActivity.enterActivity(MainActivity.this);
}
});
findViewById(R.id.bt_save).setOnClickListener(new View.OnClickListener() {
Expand All @@ -69,7 +74,35 @@ public void onClick(View v) {
intent.putExtra("data", la + "#" + lo);
sendBroadcast(intent);
Toast.makeText(MainActivity.this, "保存修改成功", Toast.LENGTH_LONG).show();
sp.edit().putFloat("la", Float.parseFloat(la))
.putFloat("lo", Float.parseFloat(lo))
.apply();
}
});

startService(new Intent(this, LongRunningService.class));
}

public static class LongRunningService extends Service {

@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}

@Override
public int onStartCommand(final Intent intent, int flags, int startId) {
new Thread() {
@Override
public void run() {
}
}.start();
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
long triggerAtTime = System.currentTimeMillis() + 60 * 60 * 1000;
Intent i = new Intent(this, LongRunningService.class);
manager.set(AlarmManager.RTC_WAKEUP, triggerAtTime, PendingIntent.getService(this, 0, i, 0));
return super.onStartCommand(intent, flags, startId);
}
}
}
24 changes: 13 additions & 11 deletions app/src/main/java/org/gallonyin/weworkhk/TencentMapActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.Toast;

import com.tencent.mapsdk.raster.model.BitmapDescriptorFactory;
Expand All @@ -24,25 +23,25 @@
public class TencentMapActivity extends AppCompatActivity {
private static final String TAG = "TencentMapActivity";

private FrameLayout fl_root;
private String url;
private MapView mapView;
private TencentMap tencentMap;
private SharedPreferences sp;
private float laDefault;
private float loDefault;

public static void enterActivity(Context context, String url) {
public static void enterActivity(Context context) {
Intent intent = new Intent(context, TencentMapActivity.class);
intent.putExtra("url", url);
context.startActivity(intent);
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tencent_map);
sp = getSharedPreferences("main", Context.MODE_PRIVATE);
laDefault = sp.getFloat("la", 31.984240f);
loDefault = sp.getFloat("lo", 118.763820f);

url = getIntent().getStringExtra("url");

fl_root = findViewById(R.id.fl_root);
mapView = findViewById(R.id.mapview);
mapView.onCreate(savedInstanceState);

Expand All @@ -53,7 +52,7 @@ private void initMap() {
//获取TencentMap实例
tencentMap = mapView.getMap();
//设置地图中心点
tencentMap.setCenter(new LatLng(31.984240, 118.763820));
tencentMap.setCenter(new LatLng(laDefault, loDefault));
//设置缩放级别
tencentMap.setZoom(11);

Expand All @@ -74,7 +73,7 @@ public void onMapClick(LatLng latLng) {
}
});

showMarker(31.984240d, 118.763820d);
showMarker(laDefault, loDefault);
}

private void showMarker(final double la, final double lo) {
Expand All @@ -98,6 +97,9 @@ public void onInfoWindowClick(Marker arg0) {
intent.putExtra("data", la + "#" + lo);
sendBroadcast(intent);
Toast.makeText(mapView.getContext(), "已更新坐标", Toast.LENGTH_SHORT).show();
sp.edit().putFloat("la", (float) la)
.putFloat("lo", (float) lo)
.apply();
}
});
// //Marker拖拽事件
Expand Down

0 comments on commit 1b9e6b2

Please sign in to comment.