summaryrefslogtreecommitdiff
path: root/client/Piztor/src/com/macaroon/piztor/MapMaker.java
diff options
context:
space:
mode:
Diffstat (limited to 'client/Piztor/src/com/macaroon/piztor/MapMaker.java')
-rw-r--r--client/Piztor/src/com/macaroon/piztor/MapMaker.java55
1 files changed, 46 insertions, 9 deletions
diff --git a/client/Piztor/src/com/macaroon/piztor/MapMaker.java b/client/Piztor/src/com/macaroon/piztor/MapMaker.java
index 05cf0b9..bf34d7d 100644
--- a/client/Piztor/src/com/macaroon/piztor/MapMaker.java
+++ b/client/Piztor/src/com/macaroon/piztor/MapMaker.java
@@ -50,9 +50,13 @@ import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapPoi;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationOverlay;
+import com.baidu.mapapi.map.MKOLSearchRecord;
+import com.baidu.mapapi.map.MKOLUpdateElement;
import com.baidu.mapapi.map.OverlayItem;
import com.baidu.mapapi.map.PopupClickListener;
import com.baidu.mapapi.map.PopupOverlay;
+import com.baidu.mapapi.map.MKOfflineMap;
+import com.baidu.mapapi.map.MKOfflineMapListener;
import com.baidu.mapapi.search.MKPoiInfo;
import com.baidu.mapapi.search.MKPoiResult;
import com.baidu.platform.comapi.basestruct.GeoPoint;
@@ -62,7 +66,8 @@ public class MapMaker extends Activity {
// MapView controlling component
private MapView mMapView = null;
MapController mMapController = null;
-
+ MKOfflineMap mOffline = null;
+
// Default center
private final static GeoPoint sjtuCenter = new GeoPoint((int)(31.032247 * 1E6), (int)(121.445937 * 1E6));
@@ -72,6 +77,8 @@ public class MapMaker extends Activity {
private LocationOverlay mLocationOverlay;
private ArrayList<OverlayItem> mItems = null;
private MapInfo preMapInfo = null;
+ private MapInfo nowMapInfo = null;
+
// marker layer
private MyOverlay markerOverlay;
@@ -163,6 +170,40 @@ public class MapMaker extends Activity {
}
/**
+ * Initialize offline map
+ */
+ public void InitOfflineMap() {
+
+ mOffline = new MKOfflineMap();
+ mOffline.init(mMapController, new MKOfflineMapListener() {
+
+ @Override
+ public void onGetOfflineMapState(int type, int state) {
+ switch (type) {
+ case MKOfflineMap.TYPE_DOWNLOAD_UPDATE:
+ MKOLUpdateElement update = mOffline.getUpdateInfo(state);
+ break;
+ case MKOfflineMap.TYPE_NEW_OFFLINE:
+ Log.d("offline", String.format("add offline map %d", state));
+ break;
+ case MKOfflineMap.TYPE_VER_UPDATE:
+ Log.d("offline", String.format("new offline map version"));
+ break;
+ }
+ }
+ });
+ int num = mOffline.scan();
+ String msg = "";
+ if (num == 0) {
+ //msg = "No offline map found. It may have been loaded already or misplaced.";
+ } else {
+ msg = String.format("Loaded %d offline maps.", num);
+ }
+ Log.d("offline", "inited");
+ Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
+ }
+
+ /**
* Initialize location layer
*/
public void InitLocationOverlay() {
@@ -234,6 +275,7 @@ public class MapMaker extends Activity {
InitLocationOverlay();
InitMyOverLay();
InitPopup();
+ InitOfflineMap();
//InitTouchListenr();
}
@@ -263,9 +305,7 @@ public class MapMaker extends Activity {
mOverlay = new MyOverlay(context.getResources().getDrawable(R.drawable.circle_red), mMapView);
GeoPoint p;
Vector<UserInfo> allUsers = mapInfo.getVector();
- boolean flag = false;
if (nowMarker != null) {
- Log.d("marker", "now marker is not null");
mOverlay.addItem(nowMarker);
}
for (int i =1; i < allUsers.size(); i++) {
@@ -276,12 +316,7 @@ public class MapMaker extends Activity {
curItem = new OverlayItem(p, "USERNAME HERE!!!!!", "");
//TODO
////////////////////////////////////////////////////////////
- if (flag == false){
- flag = true;
- curItem.setMarker(context.getResources().getDrawable(R.drawable.circle_green));
- } else {
- curItem.setMarker(context.getResources().getDrawable(R.drawable.circle_red));
- }
+ curItem.setMarker(context.getResources().getDrawable(R.drawable.circle_red));
mOverlay.addItem(curItem);
}
mItems = new ArrayList<OverlayItem>();
@@ -296,6 +331,8 @@ public class MapMaker extends Activity {
}
}
+
+
/**
* Update marker
*/