arcgis android pdf,[转载]Arcgis for android

本篇文章主是是针对arcgis for

android中的一个sample实例进行了一些改进,并且进行一个综合,是使用之前须集成eclipse+android

sdk+arcgis for android插件,关于怎样集成该插件,我会相继发布出来,网上也有很多例子集成插件的方法。

LoadMap类:

package com.arcgis.load;

import android.app.Activity;

import android.content.Context;

import android.graphics.Color;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationManager;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

import com.esri.android.map.GraphicsLayer;

import com.esri.android.map.MapView;

import com.esri.android.map.ags.ArcGISDynamicMapServiceLayer;

import com.esri.android.map.event.OnLongPressListener;

import com.esri.core.geometry.Envelope;

import com.esri.core.geometry.Geometry;

import com.esri.core.geometry.GeometryEngine;

import com.esri.core.geometry.Point;

import com.esri.core.geometry.SpatialReference;

import com.esri.core.map.Graphic;

import com.esri.core.renderer.SimpleRenderer;

import com.esri.core.symbol.SimpleMarkerSymbol;

public class LoadMap extends Activity {

private MapView map = null;

private TextView label = null;

private Button buttonZoomIn = null;

private Button buttonZoomOut = null;

private GraphicsLayer gLayer = null;

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

map = (MapView)

findViewById(R.id.map);

label = (TextView)

findViewById(R.id.label);

gLayer = (GraphicsLayer)

findViewById(R.id.gLayer);

// 放大缩小事件

zoomInOrOut();

//设置地图显示范围

setExtent();

//设置起始定位经纬点

Point ptLatLon = new

Point(120.713511, 31.685513);

onSetGraphic(ptLatLon);

//鼠标长按事件

setLongMouse();

Object init =

getLastNonConfigurationInstance();

if (init != null) {

map.restoreState((String)

init);

}

}

public Point formartPoint(Point pt) {

SpatialReference sr4326 =

SpatialReference.create(4326);

Point ptMap = (Point)

GeometryEngine.project(pt, sr4326, map

.getSpatialReference());

return ptMap;

}

public void setExtent() {

Envelope initextext = new

Envelope(120.65471393068182, 31.565493457704875,

120.90532917210974, 31.714061774479514);

map.zoomTo(initextext);

}

public void zoomInOrOut() {

buttonZoomIn = (Button)

findViewById(R.id.buttonZoomIn);

buttonZoomOut = (Button)

findViewById(R.id.buttonZoomOut);

this.buttonZoomIn.setOnClickListener(new

OnClickListener() {

@Override

public void

onClick(View v) {

LoadMap.this.map.zoomin();

}

});

this.buttonZoomOut.setOnClickListener(new

OnClickListener() {

@Override

public void

onClick(View v) {

LoadMap.this.map.zoomout();

}

});

}

public void onGraphic(float x, float y) {

gLayer.clear();

gLayer.setRenderer(new

SimpleRenderer(new SimpleMarkerSymbol(Color.RED,

10,

SimpleMarkerSymbol.STYLE.CIRCLE)));

Graphic g = new

Graphic();

g.setGeometry(LoadMap.this.map.toMapPoint(x,

y));

gLayer.addGraphic(g);

gLayer.invalidate();

}

public void onSetGraphic(Point pt) {

gLayer.clear();

gLayer.setRenderer(new

SimpleRenderer(new SimpleMarkerSymbol(Color.RED,

10,

SimpleMarkerSymbol.STYLE.CIRCLE)));

Graphic g = new

Graphic();

g.setGeometry((Geometry)

pt);

gLayer.addGraphic(g);

gLayer.invalidate();

}

public void onlocationManager() {

loc = (LocationManager)

this.getSystemService(Context.LOCATION_SERVICE);

loc.requestLocationUpdates(LocationManager.GPS_PROVIDER,

0, 0,

new

LocationListener() {

public

void onLocationChanged(Location l) {

Point

ptLatLon = new Point(l.getLongitude(), l

.getLatitude());

SpatialReference

sr4326 = SpatialReference.create(4326);

Point

ptMap = (Point) GeometryEngine.project(ptLatLon,

sr4326,

map.getSpatialReference());

LoadMap.this.label.setText("X:"

+ ptMap.getX() + "Y:"

+

ptMap.getY());

map.centerAt(ptMap);

}

public

void onProviderDisabled(String provider) {

}

public

void onProviderEnabled(String provider) {

}

public

void onStatusChanged(String provider, int status,

Bundle

extras) {

}

});

}

public void setLongMouse(){

map.setOnLongPressListener(new

OnLongPressListener() {

private

static final long serialVersionUID = 1L;

@Override

public void

onLongPress(float x, float y) {

LoadMap.this.onGraphic(x,

y);

}

});

}

public Object

onRetainNonConfigurationInstance() {

return map.retainState();

}

}

mail.xml

encoding="utf-8"?>

android:layout_width="fill_parent"

android:layout_height="fill_parent">

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/map" android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:id="@+id/gLayer"/>

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:textColor="#000000"

android:layout_centerHorizontal="true"

android:layout_alignParentBottom="true" >

android:text="放大"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"/>

android:text="缩小"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"/>

AndroidManifest.xml

encoding="utf-8"?>

package="com.arcgis.load"

android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

android:label="@string/app_name">

/>

android:name="android.intent.category.LAUNCHER"

/>

android:name="android.permission.INTERNET">

android:name="android.permission.WRITE_EXTERNAL_STORAGE">

android:name="android.permission.ACCESS_FINE_LOCATION">

android:name="android.permission.ACCESS_GPS"

/>

android:name="android.permission.ACCESS_FINE_LOCATION"

/>

/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值