Android GPS карта показывает сетку - PullRequest
0 голосов
/ 16 декабря 2011

После 30 часов программирования и неудачи я понял, что не могу делать то, что хотел. Так что это последняя попытка забить пас.

Попытка реализовать Google API, чтобы показать вещи на карте.

Я полностью следовал учебнику по Android, и он все еще отказывается работать.

Это просто показывает сетку на MapView, мой друг проверил мой ключ API, так что все должно быть в порядке.

Единственное разрешение, которое я должен был использовать, это

android.permission.INTERNET

Я видел другой поток, но я уверен, что ключ в порядке, и я думаю, что разрешение находится в правильном месте.

 <com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="key"
   />


 </LinearLayout>

манифест

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" android:debuggable="false">
    <uses-library android:name="com.google.android.maps" />
    <activity   

import java.util.List;

 import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;


import android.graphics.drawable.Drawable;
import android.os.Bundle;

public class Main extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

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

    List<Overlay> mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
    MyItemizedOverlay itemizedoverlay = new MyItemizedOverlay(drawable);

    GeoPoint point = new GeoPoint(19240000,-99120000);
    OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!", "I'm in Mexico City!");

    itemizedoverlay.addOverlay(overlayitem);
    mapOverlays.add(itemizedoverlay);
 }



@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}
     } 

кажется, я был преждевременным, я построил другой ключ, точно так же, как я делал в прошлый раз. На этот раз ключ работал.

но теперь проблема в том, что когда я нажимаю на увеличение, оно принудительно закрывает приложение

Ответы [ 2 ]

1 голос
/ 16 декабря 2011

не использовать debug.keystore.Используйте new keystore.Right click on ur project>Android tools> Export signed application package.Создать новое хранилище ключей (запомнить псевдоним и пароль).

Теперь используйте следующую команду в командной строке:

cd "C:\Program Files\Java\jdk1.7.0_01\bin


keytool -v -list -alias <ur alias name> -keystore <ur keystore name>.keystore -storepass android -keypass android

Позже запрашивает password, позже выдает MD5 fingerprint Используйте этот отпечаток md5 для создания google api key.Заменить ключ.Теперь Project Right Click>Android tools>Export Signed Application package>

Use existing keystore

выберите предыдущее хранилище ключей и u get apk in release mode. проверьте установку этого apk. Он должен работать правильно.

0 голосов
/ 16 декабря 2011

Я думаю, что проблема только с вашим классом MyItemizedOverlay.

Вы упомянули , когда я нажимаю на увеличение означает управление масштабированием или на вашем маркере Android ??

Я протестировал мой код, как вы, но только изменение - это мой собственный класс ItemizedOverlay.он отлично работает как для элементов управления масштабированием, так и для щелчка маркером.

Единственное, что я могу вам помочь, это , если ваше приложение упало при нажатии маркера на карте, тогда вы должны передать Context в класс ItemizedOverlay

Если нет, отправьте свой код, я постараюсь решить вашу проблему.

...