1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình Android: Tìm địa điểm theo địa chỉ pptx

6 324 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 114 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐÁNH DẤU MAPTạo project: Project name: test_location3 Build Target: Android 2.1 Application name: test_location3 Package name: com.dac Create Activity: Test_location3Activity Trong file

Trang 1

ĐÁNH DẤU MAP

Tạo project:

Project name: test_location3

Build Target: Android 2.1

Application name: test_location3

Package name: com.dac

Create Activity: Test_location3Activity

Trong file main.xml :

<?xml version="1.0" encoding="utf-8"?>

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

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

<LinearLayout

android:id="@+id/linearLayout1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Nhap DD: " />

<EditText

android:id="@+id/editDD"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="0.26"

<requestFocus />

</EditText>

<Button

android:id="@+id/btnOK"

android:layout_width="wrap_content"

Trang 2

android:layout_height="wrap_content"

android:text="Tim" />

</LinearLayout>

<com.google.android.maps.MapView

android:id="@+id/MapView"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:clickable="true"

android:apiKey="KEYS"

/>

</LinearLayout>

Tạo thêm 1 class DiaDiem trong package chính :

package com.dac;

import java.util.ArrayList;

import java.util.Iterator;

import android.graphics.drawable.Drawable;

import com.google.android.maps.GeoPoint;

import com.google.android.maps.ItemizedOverlay;

import com.google.android.maps.OverlayItem;

public class DiaDiem extends ItemizedOverlay {

OverlayItem location;

private GeoPoint center = null;

public DiaDiem(Drawable m, int lat, int lon) {

super(m);

// TODO Auto-generated constructor stub

GeoPoint geo = new GeoPoint(lat, lon);

populate();

}

public GeoPoint getCenterPt()

{

{

int bac = -9000000;

int nam = 9000000;

int dong = -180000000;

int tay = 180000000;

GeoPoint pt = location.getPoint();

if(pt.getLatitudeE6() > bac)

Trang 3

bac = pt.getLatitudeE6();

if(pt.getLatitudeE6() < nam)

nam = pt.getLatitudeE6();

if(pt.getLongitudeE6() > dong)

dong= pt.getLongitudeE6();

if(pt.getLongitudeE6()<tay)

tay = pt.getLongitudeE6();

2));

}

return center; }

@Override

protected OverlayItem createItem(int i) {

// TODO Auto-generated method stub

return location; }

@Override

public int size() {

// TODO Auto-generated method stub

return 1;

}

}

Và trong file Activity chính:

package com.dac;

import java.io.IOException;

import java.util.List;

import android.graphics.drawable.Drawable;

import android.location.Address;

import android.location.Geocoder;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import com.google.android.maps.*;

public class Test_location3Activity extends MapActivity {

Trang 4

Geocoder geocoder = null;

MapView mv = null;

DiaDiem fun;

Drawable marker;

/** Called when the activity is first created */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mv = (MapView)findViewById(R.id.MapView);

mv.setBuiltInZoomControls(true);

marker = getResources().getDrawable(R.drawable.map_icon1);

marker.setBounds((int)(-marker.getIntrinsicWidth()/2),

(int)(marker.getIntrinsicWidth()/2),0);

int lat = (int)(10.763238 * 1000000);

int lon = (int)(106.675647 * 1000000);

GeoPoint pt = new GeoPoint(lat, lon);

mv.getController().setZoom(17);

mv.getController().setCenter(pt);

geocoder = new Geocoder(Test_location3Activity.this);

Button btn = (Button)findViewById(R.id.btnOK);

btn.setOnClickListener(o);

}

OnClickListener o = new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

EditText ed = (EditText)findViewById(R.id.editDD);

String Ten = ed.getText().toString();

try {

List<Address> l = geocoder.getFromLocationName(Ten, 5);

if(l!=null && l.size()>0) {

int lat = (int) (l.get(0).getLatitude()*1000000);

int lon = (int) (l.get(0).getLongitude()*1000000);

GeoPoint pt = new GeoPoint(lat, lon);

fun = new DiaDiem(marker, lat, lon);

mv.getOverlays().add(fun);

mv.getController().setZoom(17);

Trang 5

mv.getController().setCenter(pt); }

} catch (IOException e) {

// TODO Auto-generated catch block

Log.v("Loi: ", "Loi 1 cua tui ne"); }

} };

@Override

protected boolean isRouteDisplayed() {

// TODO Auto-generated method stub

return false; }

@Override

protected boolean isLocationDisplayed() {

// TODO Auto-generated method stub

return false; }

}

Hi`nh ảnh của ứng dụng:

Ngày đăng: 09/08/2014, 17:20

TỪ KHÓA LIÊN QUAN

w