2012-04-06 3 views
0

Я разрабатываю приложение для Android, в котором мне нужно отображать карту. Я сделал это один раз в предыдущем приложении, но ключ, который я использовал в предыдущем, не работает в его приложении. Он просто показывает булавку в приложении с пустым экраном. Должен ли я использовать другой ключ карты для каждого проекта, если не просьба помочь мне, как я могу использовать свой предыдущий ключ в этом. , а также я попытался создать новый ключ, но дал тот же ключ.Ключ карты Google в Android?

Вот код, я использовал

public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.map); 
     btn=(Button)findViewById(R.id.mapbtn); 
     str1=getIntent().getStringExtra("LATITUDE"); 
     str2=getIntent().getStringExtra("LONGITUDE"); 





     mapView = (MapView)findViewById(R.id.mapView1); 
     //View zoomView = mapView.getZoomControls(); 

     mapView.setBuiltInZoomControls(true); 
     //mapView.setSatellite(true); 
     mc = mapView.getController(); 
     btn.setOnClickListener(this); 

      MapOverlay mapOverlay = new MapOverlay(); 
      List<Overlay> listOfOverlays = mapView.getOverlays(); 
      listOfOverlays.clear(); 
      listOfOverlays.add(mapOverlay); 


      String coordinates[] = {str1, str2}; 
      double lat = Double.parseDouble(coordinates[0]); 
      double lng = Double.parseDouble(coordinates[1]); 

      p = new GeoPoint(
       (int) (lat * 1E6), 
       (int) (lng * 1E6)); 

      mc.animateTo(p); 
      mc.setZoom(17); 
      mapView.invalidate(); 

     //mp.equals(o); 
    } 
    @Override 
    protected boolean isRouteDisplayed() { 
     // TODO Auto-generated method stub 
     return false; 
    } 
    class MapOverlay extends com.google.android.maps.Overlay 
    { 
     @Override 
     public boolean draw(Canvas canvas, MapView mapView, 
     boolean shadow, long when) 
     { 
      super.draw(canvas, mapView, shadow);     
      Paint mPaint = new Paint(); 
      mPaint.setDither(true); 
      mPaint.setColor(Color.RED); 
      mPaint.setStyle(Paint.Style.FILL_AND_STROKE); 
      mPaint.setStrokeJoin(Paint.Join.ROUND); 
      mPaint.setStrokeCap(Paint.Cap.ROUND); 
      mPaint.setStrokeWidth(2); 

      //---translate the GeoPoint to screen pixels--- 
      Point screenPts = new Point(); 
      mapView.getProjection().toPixels(p, screenPts); 

      //---add the marker--- 
      Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pin);    
      canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);   
      return true; 
     } 

спасибо ....

ответ

1

Карта Ключ только ограничивается одной машине, как она включает в себя Java-библиотеки, JDK и все, так debug.keystore является также один файл, и этим вы всегда получите UNIQUE Map Key.

Вам нужно будет создать новый ключ карты только при переключении вашего компьютера (CPU) или переустановке вашей ОС.

Еще один совет: Просто удалите код Overlay и просто проверьте его снова, он отлично работает. Или есть проблема в классе Overlay. Очистить и перестроить приложение.

Надеюсь, вы также дали эти разрешения.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
3
amandeep there are two kinds of key for maps debug key and release key 
debug key is for your system on which you are developping your application 
that can be used for every application and the seconde one is release key that is different for every application and for each application you have to create new one 

http://code.google.com/android/add-ons/google-apis/mapkey.html

Difference between Debug and Signing key

+1

Одна из причин, по которой карта не отображается, может заключаться в том, что вы используете ключ освобождения для разработки, замените это на свой ключ отладки – vipin

0

Вы пытаетесь запустить приложение на эмуляторе? если да Затем используйте ключ по умолчанию, я вы выписываете apk, а затем запускаете на устройстве, используя тот же ключ для подписывания, который использовался для последнего приложения, и используйте сгенерированный ключ api map google. Вы получаете сетки в качестве выходных? Две возможные причины: ключ или интернет (интернет через прокси)

Смежные вопросы