我正在尝试按地址进行 Google 地图搜索
这是我的 cari.java 代码
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class cari extends com.google.android.maps.MapActivity {
TextView error,pt;
EditText cm;
String i,returnStringLancar,stat;
Geocoder geoCoder;
GeoPoint p;
MapController controller;
MapView map;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
pt=(TextView)findViewById(R.id.peta);
cm=(EditText)findViewById(R.id.cariMap);
}
public void clickHandler(View view){
Intent a = null;
switch (view.getId()){
case R.id.show:
geoCoder = new Geocoder(getApplicationContext(),
Locale.getDefault());
List<Address> addresses;
try {
addresses = geoCoder.getFromLocationName(cm.getText().toString(),5);
if(addresses.size() > 0)
{
p = new GeoPoint( (int) (addresses.get(0).getLatitude() * 1E6),
(int) (addresses.get(0).getLongitude() * 1E6));
controller.animateTo(p);
controller.setZoom(12);
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = map.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
map.invalidate();
cm.setText("");
}
else
{
AlertDialog.Builder adb = new AlertDialog.Builder(cari.this);
adb.setTitle("Google Map");
adb.setMessage("Please Provide the Proper Place");
adb.setPositiveButton("Close",null);
adb.show();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
这是我的 MapOverlay.java
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import android.os.Bundle;
class MapOverlay extends com.google.android.maps.Overlay
{
Context context;
GeoPoint p;
public boolean draw(Canvas canvas, MapView mapView,
boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
//---translate the GeoPoint to screen pixels---
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(
context.getResources(), R.drawable.icon);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-32, null);
return true;
}
}
这是我的布局 xml:
搜索.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android.autoText="true"
/>
<EditText
android:text="Enter your address"
android:id="@+id/address"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</EditText>
<Button
android:text="Search"
android:id="@+id/launchmap"
android:layout_width="150px"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
我想要的是当我在editText中写下一条街道的名称(例如:1152 1st Avenue)并按下搜索按钮时,它将在谷歌地图上显示位置(1152 1st Avenue)。
当我运行这个程序时,它说
“ java.lang.RuntimeException:无法实例化活动 ComponentInfo{udin.googlemap2/udin.googlemap2.GoogleMap2}:”
和这个
“java.lang.ClassNotFoundException:加载程序dalvik.system.PathClassLoader中的udin.googlemap2.GoogleMap2 [/system/framework/com.google.android.maps.jar:/data/app/udin.googlemap2-2.apk]”
你能帮我吗?任何帮助我都会感激....还是谢谢