在安卓开发中如何在自己设置的经纬度显示到高德地图上中心点

在安卓开发中如何在自己设置的经纬度显示到高德地图上中心点,第1张

首先创建工程,并在工程Build Path>Configure Build Path…>libraries 中选择“Add Externel JARs…”,选定

MapApijar,点击OK,这样就可以将高德地图Android API 库文件引入。然后在工程Build Path>Configure Build

Path…>Order and Export 中将引入的库文件MapApijar 选中,点击OK,这样您就可以在您的程序中使用高德地图API

了。

二、我们在不熟悉的情况下、先尽量多的添加此软件应用权限;所以在mainifest中添加如下代码;插入的位置在

<application的代码之前。

Java代码

<uses-permission android:name="androidpermissionACCESS_COARSE_LOCATION"></uses-permission>

<uses-permission android:name="androidpermissionACCESS_FINE_LOCATION"></uses-permission>

<uses-permission android:name="androidpermissionINTERNET"></uses-permission>

<uses-permission android:name="androidpermissionACCESS_NETWORK_STATE"></uses-permission>

<uses-permission android:name="androidpermissionWRITE_EXTERNAL_STORAGE"></uses-permission>

<uses-permission android:name="androidpermissionREAD_PHONE_STATE"></uses-permission>

<uses-permission android:name="androidpermissionCHANGE_WIFI_STATE"></uses-permission>

<uses-permission android:name="androidpermissionACCESS_WIFI_STATE"></uses-permission>

三、接着就要在res文件下的layout中添加界面布局了。其代码如下、你可以完全复制进去。

Java代码

<xml version="10" encoding="utf-8">

<LinearLayout xmlns:android=">

使用swift来使用高德地图,这里使用Android实践高德地图包含定位,移动地图动画,获取网络数据,marker标记以及点击,Infowindow自定义界面以及点击,以及点击无marker地图上面隐藏infowindow等功能。直接看代码

[java] view plain copy print

package comcarmapui;

import androidgraphicsColor;

import androidlocationLocation;

import androidosBundle;

import androidutilLog;

import androidviewView;

import androidviewViewOnClickListener;

import androidviewanimationAnimation;

import androidviewanimationAnimationAnimationListener;

import androidviewanimationAnimationUtils;

import androidwidgetImageView;

import comamapapilocationAMapLocation;

import comamapapilocationAMapLocationListener;

import comamapapilocationLocationManagerProxy;

import comamapapilocationLocationProviderProxy;

import comamapapimapsAMap;

import comamapapimapsAMapInfoWindowAdapter;

import comamapapimapsAMapOnCameraChangeListener;

import comamapapimapsAMapOnInfoWindowClickListener;

import comamapapimapsAMapOnMapClickListener;

import comamapapimapsAMapOnMapLoadedListener;

import comamapapimapsAMapOnMarkerClickListener;

import comamapapimapsCameraUpdateFactory;

import comamapapimapsLocationSource;

import comamapapimapsMapView;

import comamapapimapsUiSettings;

import comamapapimapsmodelBitmapDescriptorFactory;

import comamapapimapsmodelCameraPosition;

import comamapapimapsmodelLatLng;

import comamapapimapsmodelMarker;

import comamapapimapsmodelMarkerOptions;

import comamapapimapsmodelMyLocationStyle;

import comcarmapR;

import comcarmapuibaseBaseActivity;

/

@author jwzhangjie

/

public class MapActivity extends BaseActivity implements AMapLocationListener,

LocationSource, OnMarkerClickListener, OnInfoWindowClickListener,

InfoWindowAdapter, OnMapLoadedListener, OnCameraChangeListener,

AnimationListener, OnClickListener, OnMapClickListener {

private MapView mapView;

private AMap aMap;

private LocationManagerProxy aMapManager;

private OnLocationChangedListener mListener;

private UiSettings mUiSettings;

private AMapLocation aLocation;

private Animation centerMarker;

private ImageView centerImageView;

private Marker currentMarker;

private boolean isFirst = true;

private ImageView locate;

@Override

protected void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutactivity_map);

mapView = (MapView) findViewById(RidmapView);

mapViewonCreate(savedInstanceState);// 此方法必须重写

centerMarker = AnimationUtilsloadAnimation(this,

Ranimcenter_map_bounds);

centerImageView = (ImageView) findViewById(RidcenterMarkerImg);

locate = (ImageView) findViewById(Ridlocate);

initMap();

}

/

初始化AMap对象

/

private void initMap() {

if (aMap == null) {

aMap = mapViewgetMap();

mUiSettings = aMapgetUiSettings();

}

// 自定义系统定位小蓝点

MyLocationStyle myLocationStyle = new MyLocationStyle();

myLocationStylemyLocationIcon(BitmapDescriptorFactory

fromResource(Rdrawabletransdrawable));// 设置小蓝点的图标

myLocationStylestrokeColor(Colorargb(0, 0, 0, 0));// 设置圆形的边框颜色

myLocationStyleradiusFillColor(Colorargb(0, 0, 0, 0));// 设置圆形的填充颜色

myLocationStylestrokeWidth(0f);// 设置圆形的边框粗细

aMapsetMyLocationStyle(myLocationStyle);

aMapsetMyLocationRotateAngle(180);

aMapsetLocationSource(this);// 设置定位监听

mUiSettingssetMyLocationButtonEnabled(false); // 是否显示默认的定位按钮

aMapsetMyLocationEnabled(true);// 是否可触发定位并显示定位层

aMapsetMyLocationType(AMapLOCATION_TYPE_LOCATE);

mUiSettingssetTiltGesturesEnabled(false);// 设置地图是否可以倾斜

mUiSettingssetScaleControlsEnabled(true);// 设置地图默认的比例尺是否显示

mUiSettingssetZoomControlsEnabled(false);

initMapListener();

}

private void initMapListener() {

aMapsetOnMapLoadedListener(this);

aMapsetOnCameraChangeListener(this);

aMapsetOnMarkerClickListener(this);

aMapsetOnInfoWindowClickListener(this);

aMapsetInfoWindowAdapter(this);// 设置自定义InfoWindow样式

aMapsetOnMapClickListener(this);

centerMarkersetAnimationListener(this);

locatesetOnClickListener(this);

}

/

方法必须重写

/

@Override

protected void onResume() {

superonResume();

mapViewonResume();

}

/

方法必须重写

/

@Override

protected void onPause() {

superonPause();

mapViewonPause();

}

/

方法必须重写

/

@Override

protected void onSaveInstanceState(Bundle outState) {

superonSaveInstanceState(outState);

mapViewonSaveInstanceState(outState);

}

/

方法必须重写

/

@Override

protected void onDestroy() {

superonDestroy();

mapViewonDestroy();

}

@Override

public void onLocationChanged(Location location) {

}

@Override

public void onStatusChanged(String provider, int status, Bundle extras) {

}

@Override

public void onProviderEnabled(String provider) {

}

@Override

public void onProviderDisabled(String provider) {

}

@Override

public void onLocationChanged(AMapLocation aLocation) {

if (aLocation != null) {

thisaLocation = aLocation;

if (mListener != null)

mListeneronLocationChanged(aLocation);// 显示系统小蓝点

if (isFirst) {

isFirst = false;

aMapmoveCamera(CameraUpdateFactorychangeLatLng(new LatLng(

aLocationgetLatitude(), aLocationgetLongitude())));

CameraUpdateFactoryzoomTo(16);

MarkerOptions markerOption = new MarkerOptions();

markerOptionposition(new LatLng(aLocationgetLatitude(),

aLocationgetLongitude()));

markerOptiontitle("上海市")snippet("上海:34341568, 108940174");

markerOptiondraggable(true);

Marker marker = aMapaddMarker(markerOption);

markersetObject("11");//这里可以存储用户数据

}

}

}

@SuppressWarnings("deprecation")

@Override

public void activate(OnLocationChangedListener listener) {

mListener = listener;

if (aMapManager == null) {

aMapManager = LocationManagerProxygetInstance(this);

/

102版本新增方法,设置true表示混合定位中包含gps定位,false表示纯网络定位,默认是true

/

// Location API定位采用GPS和网络混合定位方式,时间最短是2000毫秒

aMapManagerrequestLocationUpdates(

LocationProviderProxyAMapNetwork, 2000, 10, this);

}

}

/

停止定位

/

@Override

public void deactivate() {

mListener = null;

if (aMapManager != null) {

aMapManagerremoveUpdates(this);

aMapManagerdestory();

}

aMapManager = null;

}

@Override

public boolean onMarkerClick(Marker marker) {

currentMarker = marker;

Loge("marker", markergetObject() + "marker: " + markergetPosition()latitude+" : "+marker);

return false;

}

@Override

public View getInfoContents(Marker marker) {

Loge("marker",

markergetObject() + "getInfoContents: " + markergetId());

return null;

}

@Override

public View getInfoWindow(Marker marker) {

Loge("marker", markergetObject() + "getInfoWindow: " + markergetId());

View infoWindow = getLayoutInflater()inflate(

Rlayoutcustom_info_window, null);

render(marker, infoWindow);

return infoWindow;

}

@Override

public void onInfoWindowClick(Marker marker) {

Loge("marker",

markergetObject() + "onInfoWindowClick: " + markergetId());

}

@Override

public void onMapLoaded() {

centerImageViewstartAnimation(centerMarker);

CameraUpdateFactoryzoomTo(16);

Loge("load", "onMapLoaded");

}

@Override

public void onCameraChange(CameraPosition arg0) {

}

@Override

public void onCameraChangeFinish(CameraPosition arg0) {

centerImageViewstartAnimation(centerMarker);

Loge("load", "onCameraChangeFinish+获取后台数据");

}

@Override

public void onAnimationStart(Animation animation) {

centerImageViewsetImageResource(Rdrawablegreen_pin_lift);

}

@Override

public void onAnimationRepeat(Animation animation) {

}

@Override

public void onAnimationEnd(Animation animation) {

centerImageViewsetImageResource(Rdrawablegreen_pin);

}

举个简单例子吧!假设A1:C10为一张工资表,内容分别是姓名、部门和工资如果要在E2中计算部门为财务科的职工的平均工资可以先找个位置输入条件区域,如H1:H2,其中H1输入部门,H2输入财务科,即H1:H2结果如下:部门财务科该条件区域的功能表示希望计算财务科的相关数据然后在E2中输入公式:=DSUM(A1:C10,3,H1:H2)功能是在A1:C10中查找符合条件区域H1:H2的数据,并计算符合条件区域定义条件的第3列的总和,本题第3列为工资,相当于计算工资的总和。本题的公式也可改为:=DSUM(A1:C10,"工资",H1:H2)

以上就是关于在安卓开发中如何在自己设置的经纬度显示到高德地图上中心点全部的内容,包括:在安卓开发中如何在自己设置的经纬度显示到高德地图上中心点、调用高德地图API实现关键字查询的jsp代码怎么写、高德地图,android开发中,怎么用经纬度来显示地图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9305559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存