Android Geocoder

发布时间:2010-10-23 阅读量:1786 来源: 发布人:

package com.hl;

import java.io.IOException;
import java.util.List;
import java.util.Locale;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.maps.MapActivity;
public class Geo extends MapActivity {
private EditText input;
private Button btn;
private TextView show;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
input = (EditText)findViewById(R.id.input);
btn = (Button)findViewById(R.id.btn);
show = (TextView)findViewById(R.id.show);

btn.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
show.setText(performGeocode(input.getText().toString(), true));
}
});
}

private String performGeocode(final String in, final boolean isAddr) {
String result= null;
if (this.input != null) {
Geocoder geocoder = new Geocoder(this,Locale.CHINA);
if (isAddr) {
try {
List
addresses = geocoder.getFromLocationName(in,5);
if (addresses != null) {
result = addresses.get(0).toString();
}
} catch (IOException e) {
Toast.makeText(Geo.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
} else {
try {
String[] coords = in.split(",");
if ((coords != null) && (coords.length == 2)) {
List
addresses = geocoder.getFromLocation(
Double.parseDouble(coords[0]),
Double.parseDouble(coords[1]), 1);
result = addresses.get(0).toString();
}
} catch (IOException e) {
Toast.makeText(Geo.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
return result;
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
注意不要在android 8的模拟器上做测试,不然不能成功的!!
相关资讯
突发!芯片巨头中国区开启裁员,赔偿“N+4”!

博世中国在无锡开始裁员,涉及200人,赔偿方案高达“N+4”

英特尔进军GPU研发,陈立武宣布新聘首席架构师!

在周二(3日)举办的思科AI高峰会上,英特尔CEO陈立武宣布,公司将推进图形处理器(GPU)的研发与生产,并已任命新的首席架构师负责制定相关发展蓝图。他透露,邀请这位高层加入公司“花了一些工夫去说服”。

三星晶圆泰勒厂2nm芯片量产在即,能否扭转长期亏损?

三星电子晶圆代工业务长期处于亏损状态。

200亿美元!英伟达大手笔投资OpenAI!

英伟达拟向OpenAI投资约200亿美元!

三星电机天津MLCC厂24小时运转!8000人轮班不间断生产

受汽车电子产品需求激增推动,三星电机位于天津的全球最大生产基地已实现多层陶瓷电容器(MLCC)生产线全天候运转,近8000名工人24小时不间断生产。