package com.example.administrator.my_map;
import android.app.Application;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.PersistableBundle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.TextureView;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption;
import com.amap.api.location.AMapLocationListener;
import com.amap.api.maps.AMap;
import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.maps.LocationSource;
import com.amap.api.maps.MapView;
import com.amap.api.maps.TextureMapView;
import com.amap.api.maps.UiSettings;
import com.amap.api.maps.model.BitmapDescriptor;
import com.amap.api.maps.model.BitmapDescriptorFactory;
import com.amap.api.maps.model.CameraPosition;
import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.MyLocationStyle;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.core.PoiItem;
import com.amap.api.services.core.SuggestionCity;
import com.amap.api.services.poisearch.PoiResult;
import com.amap.api.services.poisearch.PoiSearch;
import com.amap.api.services.route.RouteSearch;
import java.util.List;
public class MainActivity extends AppCompatActivity implements LocationSource,AMapLocationListener, PoiSearch.OnPoiSearchListener, AMap.OnCameraChangeListener {
private MapView mMapView;//显示地图的视图
private AMap aMap;//定义AMap 地图对象的操作方法与接口。
private OnLocationChangedListener mListener;//位置发生变化时的监听
private AMapLocationClient mapLocationClient;//定位服务类。此类提供单次定位、持续定位、地理围栏、最后位置相关功能。
private AMapLocationClientOption mapLocationClientOption;//定位参数设置,通过这个类可以对定位的相关参数进行设置
//在AMapLocationClient进行定位时需要这些参数
//设置地图样式的按钮
private Button btn_weixing;
private Button btn_normal;
private Button btn_night;
//实现高德地图POI搜索
private EditText edt_serch;
private Button btn_search;
private RouteSearch routeSearch;
private String type = "";//poi搜索的类型
private String city = "";
private PoiSearch.Query query;//Poi查询条件类
private PoiSearch poisearch;
private PoiResult poiresult;//Poi搜索返回的结果
private LatLng latlng;//经纬度
private List<PoiItem> poiItems;
Marker marker = null;
boolean isChange = false;
private Button btn_shuaxin;
//用Android materia 简化界面
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMapView = (MapView) findViewById(R.id.map);
mMapView.onCreate(savedInstanceState);//必须调用
init();
//设置地图样式
initType();
//开始搜寻目的地
initQuery();
}
private void initQuery() {
btn_search = (Button) findViewById(R.id.btn_search);
edt_serch = (EditText) findViewById(R.id.edt_serch);
routeSearch = new RouteSearch(this);
btn_search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
aMap.clear();
doQuery();
poisearch.searchPOIAsyn();
}
});
btn_shuaxin = (Button) findViewById(R.id.btn_shuaxin);
btn_shuaxin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(MainActivity.this,Activity_Weather.class);
startActivity(intent);
}
});
}
private void doQuery() {
aMap.setOnMapClickListener(null);// 进行poi搜索时清除掉地图点击事件
int currentPage = 0;
type = edt_serch.getText().toString();
Toast.makeText(MainActivity.this,type,Toast.LENGTH_LONG).show();
query = new PoiSearch.Query("", type, "广州");// 第一个参数表示搜索字符串,第二个参数表示poi搜索类型,第三个参数表示poi搜索区域(空字符串代表全国)
query.setPageSize(20);// 设置每页最多返回多少条poiitem
query.setPageNum(currentPage);// 设置查第一页
LatLonPoint lp = new LatLonPoint(latlng.latitude, latlng.longitude);
poisearch = new PoiSearch(this, query);
poisearch.setOnPoiSearchListener(MainActivity.this);
poisearch.setBound(new PoiSearch.SearchBound(lp, 2000, true)); // 设置搜索区域为以lp点为圆心,其周围2000米范围
}
private void initType() {
btn_normal = (Button) findViewById(R.id.map_normal);
btn_weixing = (Button) findViewById(R.id.map_weixing);
btn_night = (Button) findViewById(R.id.map_night);
//标准模式
btn_normal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
aMap.setMapType(AMap.MAP_TYPE_NORMAL);
}
});
//卫星图模式
btn_weixing.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
aMap.setMapType(AMap.MAP_TYPE_SATELLITE);
}
});
//夜间模式
btn_night.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
aMap.setMapType(AMap.MAP_TYPE_NIGHT);
}
});
}
//实例化Amap对象
public void init() {
if (aMap == null) {
aMap = mMapView.getMap();
setConfigrationAmap();
}
}
//配置Amap对象
public void setConfigrationAmap() {
aMap.setLocationSource(MainActivity.this);//设置定位监听
aMap.setMyLocationEnabled(true);//设置显示定位层,并可以出发定位
aMap.getUiSettings().setMyLocationButtonEnabled(true);//设置显示定位按 钮
aMap.setMyLocationType(AMap.LOCATION_TYPE_LOCATE);//设置定位类型
}
// 必须重写
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
mMapView.onSaveInstanceState(outState);
}
// 必须重写
@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
}
// 必须重写
@Override
protected void onPause() {
super.onPause();
mMapView.onPause();
deactivate();
}
// 必须重写
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
if(mapLocationClient!=null){
mapLocationClient.onDestroy();
}
}
//激活定位
@Override
public void activate(OnLocationChangedListener onLocationChangedListener) { System.out.println("已经激活定位-------------activate");
mListener=onLocationChangedListener;
if(mapLocationClient==null){
mapLocationClient=new AMapLocationClient(MainActivity.this);
mapLocationClientOption=new AMapLocationClientOption();
mapLocationClientOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);//设置定位模式为 高精度
mapLocationClient.setLocationOption(mapLocationClientOption);//设置配置
mapLo
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 高德地图天气-定位(动态图实现)(源码).zip
资源推荐
资源详情
资源评论
收起资源包目录
高德地图天气-定位(动态图实现)(源码).zip (69个子文件)
code_20105
gradle.properties 730B
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 233B
app
src
androidTest
java
com
example
administrator
my_map
ExampleInstrumentedTest.java 768B
test
java
com
example
administrator
my_map
ExampleUnitTest.java 410B
main
java
com
example
administrator
my_map
Activity_Weather.java 6KB
MyAdapter.java 2KB
Activity_test.java 631B
MainActivity.java 11KB
res
mipmap-xxhdpi
ic_launcher.png 8KB
mipmap-hdpi
ic_launcher.png 3KB
mipmap-mdpi
ic_launcher.png 2KB
mipmap-xxxhdpi
ic_launcher.png 10KB
mipmap-xhdpi
ic_launcher.png 5KB
values-w820dp
dimens.xml 358B
values
dimens.xml 211B
colors.xml 208B
strings.xml 69B
styles.xml 383B
layout
list_item.xml 1KB
test.xml 539B
activity_weather.xml 4KB
activity_main.xml 2KB
drawable
sunny.jpg 6KB
qingtian.jpg 539KB
cloudy.jpg 10KB
jiantou.png 2KB
beijing.jpg 8KB
rainy.jpg 13KB
zhognyu.gif 402KB
webp.jpg 117KB
yu.gif 947KB
dingwei.jpg 5KB
dayu.jpg 555KB
bejing.jpg 22KB
tubiao.PNG 21KB
fanhui.PNG 44KB
jniLibs
armeabi
libwtbt145.so 587KB
libGNaviMapex.so 259KB
libGNaviMap.so 841KB
libGNaviSearch.so 58KB
libRoadLineRebuildAPI.so 290KB
libtbt3631.so 877KB
libGNaviUtils.so 558KB
libGNaviData.so 205KB
AndroidManifest.xml 2KB
proguard-rules.pro 657B
libs
GifView.jar 14KB
AMap3DMap_5.0.0_AMapNavi_1.9.4_AMapSearch_5.0.0_AMapLocation_3.3.0_20170311.jar 3.34MB
armeabi
libwtbt145.so 587KB
libGNaviMapex.so 259KB
libGNaviMap.so 841KB
libGNaviSearch.so 58KB
libRoadLineRebuildAPI.so 290KB
libtbt3631.so 877KB
libGNaviUtils.so 558KB
libGNaviData.so 205KB
jsoup-1.10.2.jar 342KB
build.gradle 1KB
.gitignore 7B
gradlew.bat 2KB
build.gradle 562B
.idea
misc.xml 1KB
compiler.xml 686B
gradle.xml 700B
copyright
profiles_settings.xml 74B
settings.gradle 15B
gradlew 5KB
.gitignore 118B
共 69 条
- 1
资源评论
土豆片片
- 粉丝: 1555
- 资源: 5641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功