package tyt.android.bigplanettracks;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import tyt.android.bigplanettracks.maps.BigPlanetApp;
import tyt.android.bigplanettracks.maps.MarkerManager;
import tyt.android.bigplanettracks.maps.MarkerManager.Marker;
import tyt.android.bigplanettracks.maps.PhysicMap;
import tyt.android.bigplanettracks.maps.Place;
import tyt.android.bigplanettracks.maps.Preferences;
import tyt.android.bigplanettracks.maps.RawTile;
import tyt.android.bigplanettracks.maps.SHA1Hash;
import tyt.android.bigplanettracks.maps.Utils;
import tyt.android.bigplanettracks.maps.db.DAO;
import tyt.android.bigplanettracks.maps.db.GeoBookmark;
import tyt.android.bigplanettracks.maps.geoutils.GeoUtils;
import tyt.android.bigplanettracks.maps.loader.TileLoader;
import tyt.android.bigplanettracks.maps.providers.MapStrategyFactory;
import tyt.android.bigplanettracks.maps.storage.LocalStorageWrapper;
import tyt.android.bigplanettracks.maps.storage.SQLLocalStorage;
import tyt.android.bigplanettracks.maps.tools.MapSaverUI;
import tyt.android.bigplanettracks.maps.ui.AddBookmarkDialog;
import tyt.android.bigplanettracks.maps.ui.MapControl;
import tyt.android.bigplanettracks.maps.ui.OnDialogClickListener;
import tyt.android.bigplanettracks.maps.ui.OnMapLongClickListener;
import tyt.android.bigplanettracks.maps.ui.SmoothZoomEngine;
import tyt.android.bigplanettracks.tracks.MyTimeUtils;
import tyt.android.bigplanettracks.tracks.TrackStoringThread;
import tyt.android.bigplanettracks.tracks.TrackTabViewActivity;
import tyt.android.bigplanettracks.tracks.db.TrackDBAdapter;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import android.graphics.Rect;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.net.Proxy;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.text.util.Linkify;
import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;
public class BigPlanet extends Activity {
private static final String BOOKMARK_DATA = "bookmark";
private static int SEARCH_ZOOM = 2;
private Toast textMessage;
public String identifier = null;
public static float density;
private MapControl mapControl;
private static MarkerManager mm;
protected static LocationManager locationManager;
public static Location currentLocation;
public static Location currentLocationBeforeRecording;
public static long recordingTime;
protected static String locationProvider = null;
private static boolean isFirstEntry = true;
protected static boolean inHome = false;
public static boolean isFollowMode = true; // default value is auto follow
public static boolean isGPSTracking = false; // default false
public static boolean isGPSTrackSaved = false; // default false
public static boolean isMapInCenter = false;
public static boolean isDBdrawclear = false; // default false for DB clear
public static boolean autoDisplayDB = false;
public static boolean autoDisplayDBforMarker = false;
public static double autoDisplayDB_Lat = 0;
public static double autoDisplayDB_Lon = 0;
public static boolean clearYellowPersonMarker = false;
private boolean SDCARD_AVAILABLE = true;
private MySearchIntentReceiver searchIntentReceiver;
private MyUpdateScreenIntentReceiver updateScreenIntentReceiver;
public static String SearchAction = "tyt.android.bigplanettracks.INTENTS.GOTO";
public static String UpdateScreenAction = "tyt.android.bigplanettracks.INTENTS.UpdateScreen";
private static RelativeLayout mAutoFollowRelativeLayout;
private RelativeLayout mTrackRelativeLayout;
private static ImageView scaleImageView;
private Point myGPSOffset;
private Point previousGPSOffset = new Point();;
public static TrackDBAdapter DBAdapter;
private ProgressDialog myGPSDialog = null;
private Handler mainThreadHandler; // used by TrackStoringThread
protected static Handler locationHandler;
protected static Handler titleHandler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
density = getResources().getDisplayMetrics().density;
DBAdapter = new TrackDBAdapter();
mainThreadHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case TrackStoringThread.SUCCESS:
Intent myIntent = new Intent();
myIntent.setClass(BigPlanet.this, TrackTabViewActivity.class);
startActivity(myIntent);
break;
case TrackStoringThread.FAIL:
Toast.makeText(
BigPlanet.this,
getString(R.string.fail)+"\n"+(String)msg.obj,
Toast.LENGTH_LONG).show();
break;
case TrackStoringThread.DialogDismiss:
myGPSDialog.dismiss();
break;
}
}};
mainThreadHandler.removeMessages(0);
locationHandler = new Handler() {
public void handleMessage(Message msg) {
Location location = (Location) msg.obj;
switch (msg.what) {
case MethodStartGPSLocationListener:
startGPSLocationListener();
break;
case MethodGoToMyLocation:
goToMyLocation(location, PhysicMap.getZoomLevel());
break;
case MethodTrackMyLocation:
trackMyLocation(location, PhysicMap.getZoomLevel());
break;
case MethodAddMarker:
addMarker(location, PhysicMap.getZoomLevel());
break;
case MethodUpdateScreen:
mapControl.updateScreen();
break;
}
}
};
String status = Environment.getExternalStorageState();
if (!status.equals(Environment.MEDIA_MOUNTED)) {
SDCARD_AVAILABLE = false;
new AlertDialog.Builder(this).setMessage(R.string.sdcard_unavailable)
.setCancelable(false).setNeutralButton(R.string.OK_LABEL,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0,
int arg1) {
finish();
}
}).show();
} else {
SDCARD_AVAILABLE = true;
if (new File(SQLLocalStorage.TRACK_PATH+"/sdcard.xml").exists()) {
SQLLocalStorage.SD_PATH = Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator;
SQLLocalStorage.updateSDPaths();
}
searchIntentReceiver = new MySearchIntentReceiver();
registerReceiver(searchIntentReceiver, new IntentFilter(SearchAction));
updateScreenIntentReceiver = new MyUpdateScreenIntentReceiver();
registerReceiver(updateScreenIntentReceiver, new IntentFilter(UpdateScreenAction));
locationManager = (LocationManager) getSystemService(Cont
没有合适的资源?快使用搜索试试~ 我知道了~
android 开源地图源码—— BigPlanetTracks
共338个文件
class:172个
java:70个
png:66个
5星 · 超过95%的资源 需积分: 44 499 下载量 30 浏览量
2012-03-27
17:51:08
上传
评论 7
收藏 945KB ZIP 举报
温馨提示
在学习 Android 地图相关的知识时,发现了一个非常好的开源地图项目,特此分享。项目地址:http://code.google.com/p/big-planet-tracks/
资源推荐
资源详情
资源评论
收起资源包目录
android 开源地图源码—— BigPlanetTracks (338个子文件)
resources.ap_ 153KB
BigPlanetTracks.apk 254KB
BigPlanet.class 41KB
TrackTabViewActivity.class 19KB
MapControl.class 17KB
TrackDBAdapter.class 10KB
PhysicMap.class 9KB
MyLocationService.class 9KB
MapSaverUI.class 8KB
MarkerManager.class 8KB
MyParseThread.class 7KB
IconAdapter.class 7KB
StatsActivity.class 7KB
TrackAnalyzer.class 7KB
R$string.class 6KB
FindPlace.class 6KB
DAO.class 5KB
TileResolver.class 5KB
MapControl$Panel.class 5KB
BigPlanetTracks.class 5KB
NavControls.class 5KB
GpxTrackWriter$myThread.class 5KB
SQLLocalStorage.class 5KB
Preferences.class 4KB
TrackStoringThread.class 4KB
AllGeoBookmarks.class 4KB
BaseLoader.class 4KB
GpxHandler.class 4KB
LocalStorage.class 4KB
R$id.class 4KB
StatsUtilities.class 4KB
TrackTabViewActivity$9.class 4KB
MyTimeUtils.class 3KB
BigPlanet$MySearchIntentReceiver.class 3KB
ExtendedCheckBoxListAdapter.class 3KB
GeoLocationHandler.class 3KB
TileLoader.class 3KB
FileHandle.class 3KB
GeoUtils.class 3KB
FindPlace$1.class 3KB
MapSaver.class 3KB
AddBookmarkDialog.class 3KB
ExtendedCheckBoxListView.class 3KB
ExpiredHashMap.class 3KB
ParsedDataSet.class 3KB
SmoothZoomEngine.class 3KB
R$drawable.class 3KB
SmoothZoomEngine$1.class 3KB
LocalStorageWrapper.class 3KB
TrackTabViewActivity$7.class 3KB
TileScaler$Scaler.class 3KB
MapSaverUI$5.class 3KB
NavControls$TouchLayout.class 3KB
TrackTabViewActivity$1.class 3KB
FileImporter.class 2KB
GpxTrackWriter.class 2KB
BigPlanet$9.class 2KB
TileResolver$3.class 2KB
AllGeoBookmarks$GeoBookmarkListAdapter.class 2KB
AddBookmarkDialog$2.class 2KB
TrackTabViewActivity$4.class 2KB
FindPlace$1$1.class 2KB
GpxFile.class 2KB
TrackTabViewActivity$9$1.class 2KB
TrackTabViewActivity$1$2.class 2KB
FindPlace$SpeechListAdapter.class 2KB
BigPlanet$1.class 2KB
BigPlanet$19.class 2KB
BigPlanet$20.class 2KB
TrackTabViewActivity$6.class 2KB
BitmapUtils.class 2KB
MapSaverUI$6.class 2KB
GeoBookmark.class 2KB
SQLConstants.class 2KB
MarkerManager$Marker.class 2KB
AllGeoBookmarks$1.class 2KB
BitmapCacheWrapper.class 2KB
TileScaler.class 2KB
MapControl$5.class 2KB
MapControl$6.class 2KB
MapSaver$ThreadLoader.class 2KB
MapStrategyFactory.class 2KB
BigPlanet$16.class 2KB
BigPlanet$21.class 2KB
BigPlanet$MyUpdateScreenIntentReceiver.class 2KB
GoogleSatelliteMapStrategy.class 2KB
BigPlanet$18.class 2KB
TileResolver$2.class 2KB
GoogleTerrainMapStrategy.class 2KB
GoogleVectorMapStrategy.class 2KB
OpenStreetMapStrategy.class 2KB
BigPlanet$9$1.class 2KB
DoubleClickDetector.class 2KB
TileResolver$1.class 2KB
AllGeoBookmarks$GeoBookmarkView.class 2KB
RawTile.class 2KB
ExtendedCheckBoxListView$1.class 2KB
AllGeoBookmarks$3.class 1KB
BigPlanet$2.class 1KB
Place.class 1KB
共 338 条
- 1
- 2
- 3
- 4
mygisforum
- 粉丝: 174
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页