Google Maps Marqueur de ne pas obtenir de l'affiche
Je suis en train d'apprendre l'API google map. Je vois une carte mais je n'arrive pas à obtenir un marqueur à l'emplacement correct. Je le vois quelque part dans l'océan, près de la Chine. En outre, la carte est centrée en (0,0) et de ne pas l' (lat,long) que j'ai fourni. Voici mon code
Activité
public class HomeActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_page);
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
map.addMarker(new MarkerOptions()
.position(new LatLng(37.7750, 122.4183))
.title("San Francisco"));
}
}
home_page.xml
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<uses-feature android:name="android.hardware.camera"
android:required="true" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity android:name=".HomeActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="My SHA1 key"/>
</application>
Que suis-je manquer?
- avez-vous essayé l'extension de FragmentActivity au lieu de l'Activité?
- Montrez-nous le fichier de manifeste.
- Je vois le marqueur quelque part dans l'océan, près de la Chine. En outre, la carte est centrée en (0,0) et de ne pas l' (lat,long) que j'ai fourni, qui devrait être à San Francisco.
Vous devez vous connecter pour publier un commentaire.
Je pense, vous devez définir l'icône pour afficher le marqueur. Donc, ajouté .icône et de définir votre propre marqueur de l'icône ou de l'utilisation de l'icône par défaut.
La lat, long de San Francisco est
37.7833° N, 122.4167° W
selon Google. Une longitude à l'Ouest doit être indiqué par un signe négatif. Si les coordonnées ont été quelque chose comme37.7750, -122.4183
D'abord votre
GoogleMap
peut prend du temps à charger. Il suffit donc de vérifier par cette.Vous pouvez utiliser
zoomToSpan
Cela sera le centre de votre emplacement. Je pense que ce que vous avez besoin.