package com.TaxiDirect;
import java.io.BufferedReader;
import java.io.IOException;
import 
java.io.InputStreamReader;
import java.net.HttpURLConnection;
import 
java.net.MalformedURLException;
import java.net.URL;
import 
java.util.ArrayList;
import java.util.List;
import android.graphics.Canvas;
import 
android.graphics.drawable.Drawable;
import android.os.Bundle;
import 
android.view.View;
//import android.widget.LinearLayout;
import com.google.android.maps.GeoPoint;
import 
com.google.android.maps.ItemizedOverlay;
import 
com.google.android.maps.MapActivity;
import 
com.google.android.maps.MapView;
import 
com.google.android.maps.OverlayItem;

public class TaxiDirectActivity extends MapActivity {
 private 
MapView  mapView;
 String id1, pwd1;
 String 
myResult;
    String[] position={"0", "1", "2", "3", "4", "5", 
"6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17"};
 
    //List mapOverlays; 
    
//Drawable drawableName; 
    //Drawable drawableAddr; 

   // MyItemizedOverlay itemizedOverlay; 
   
//MyItemizedOverlay itemizedOverlay2; 

    
 @Override
 protected void  
onCreate(Bundle savedInstanceState)  
{
  super.onCreate(savedInstanceState);
  setContentView(R.layout.mapview);
  
  mapView  
= (MapView) 
findViewById(R.id.mapview);
  mapView.setBuiltInZoomControls(true);
  mapView.setClickable(true);
  
  //Drawable 
marker = 
getResources().getDrawable(R.drawable.mapmarker);
  Drawable 
marker1 = 
getResources().getDrawable(R.drawable.mapmarker1);
  Drawable 
marker2 = 
getResources().getDrawable(R.drawable.mapmarker2);
  Drawable 
marker3 = 
getResources().getDrawable(R.drawable.mapmarker3);
  Drawable 
marker4 = 
getResources().getDrawable(R.drawable.mapmarker4);
  Drawable 
marker5 = 
getResources().getDrawable(R.drawable.mapmarker5);
  Drawable 
marker6 = 
getResources().getDrawable(R.drawable.mapmarker6);
  marker1.setBounds(0, 
0, 
marker1.getIntrinsicWidth(),
  marker1.getIntrinsicHeight());
  InterestingLocations  funPlaces = new 
InterestingLocations(marker1);
  mapView.getOverlays().add(funPlaces);
  GeoPoint  pt = funPlaces.getCenter(); // 첫 번째 점을 
가져옴
  mapView.getController().setCenter(pt);
  mapView.getController().setZoom(15);
  
  
 }
 @Override
 protected  boolean isLocationDisplayed() 
{
  return false;
 }
 @Override
 protected  boolean isRouteDisplayed()  
{
  return false;
 }
 @SuppressWarnings("rawtypes")
 class InterestingLocations 
extends ItemizedOverlay {
  private List<OverlayItem> 
locations = new ArrayList<OverlayItem>();
  private Drawable 
marker;
  
  
  public  
InterestingLocations(Drawable  marker) 
{
   super(marker);
   this.marker=marker;
   String 
str; 
   // 관심 지점들 
생성
   
   //String taxicode = 
position[0].toString();
   try 
{
      URL url = new URL("http://xxx.xx.82.245:8080/A/FTP_11_xxx/jspdb/selectDB.jsp");       
// URL 설정 
      HttpURLConnection http = 
(HttpURLConnection) url.openConnection();   // 접속 
      // Toast.makeText(this, "조회했어용 아잉", 
0).show();
      InputStreamReader tmp = new 
InputStreamReader(http.getInputStream(), "EUC-KR");  

      BufferedReader reader = new 
BufferedReader(tmp); 

                  

      str = 
reader.readLine();
      position = str.split("~"); 

      for(int i=1;i<17 ;i+=3) 
{
       if(position[i].toString()=="") 
break;
       double x = 
Double.parseDouble(position[i]);
       double 
y = 
Double.parseDouble(position[i+1]);
      
       
GeoPoint taxiPoint = new GeoPoint((int)(x*1000000),(int)(y*1000000));
       locations.add(new OverlayItem(taxiPoint, 
position[i-1],  position[i-1]));
       
populate();
      }
   } catch 
(MalformedURLException e) {
    //Toast(this, "실패1", 
0).show();
   } catch (IOException e) 
{
    //Toast(this, "실패2", 0).show();  

   } // try 
  }
  

  /*mapView = (MapView) 
findViewById(R.id.mapview);
   mapView.setBuiltInZoomControls(true); 

   mapOverlays = mapView.getOverlays(); 
   

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

    itemizedOverlay = new MyItemizedOverlay(drawable, 
mapView); 
     GeoPoint point = new 
GeoPoint((int)(51.5174723*1E6),(int)(-0.0899537*1E6)); 
 
     OverlayItem overlayItem = new 
OverlayItem(point, "Tomorrow Never Dies (1997)", "(M gives Bond his mission in 
Daimler car)"); 

     itemizedOverlay.addOverlay(overlayItem); 

     
     GeoPoint 
point2 = new GeoPoint((int)(51.515259*1E6),(int)(-0.086623*1E6)); 

     OverlayItem overlayItem2 = new 
OverlayItem(point2, "GoldenEye (1995)", "(Interiors Russian defence ministry 
council chambers in St Petersburg)"); 

     itemizedOverlay.addOverlay(overlayItem2); 

     
     mapOverlays.add(itemizedOverlay); 

    }
      

     protected boolean isRouteDisplayed() { 

      return false; 

      }*/
   
   
  
  @Override
  public void  draw(Canvas  
canvas, MapView  mapView, boolean shadow)  
{
   super.draw(canvas, mapView, 
shadow);
   boundCenterBottom(marker);
  }
  @Override
  protected  OverlayItem 
createItem(int i) {
   return 
locations.get(i);
  }
  @Override
  public int  size() 
{
   return 
locations.size();
  }
 }
 
 
 
 public 
void  myClickHandler(View   target) 
{
  switch(target.getId()) {
   case   
R.id.sat:
     mapView.setSatellite(true);
     break;
   case   
R.id.normal:
     mapView.setSatellite(false);
     mapView.setStreetView(false);
     mapView.setTraffic(false);
     break;
  }
 }
 
}

안드로이드 맵에 택시 마커를 띄웠습니다.

 

거기에 마우스 클릭을 하면 택시의 정보를 담으려하는데 말풍선소스를 구글링해봐도 알 길이 없네요.

.

간단한 예제나 방법알려주시면 정말 감사하겠씁니다.(__)