2017-02-21 40 views
0

我正在嘗試在我的應用中做一個地圖,並且會有一個默認標記 這裏是谷歌地圖活動xml 我已經嘗試了無數次讓標記出現,但我只是沒有看到它,我在這裏檢查了幾個線程,但沒有任何幫助。android googlemaps標記不會出現

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:map="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/map" 
    android:name="com.google.android.gms.maps.SupportMapFragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.nir.nestleapp.GoogleMapsActivity" 
    map:cameraBearing="0" 
    map:cameraTargetLat="31.926597" 
    map:cameraTargetLng="34.800077" 
    map:cameraTilt="30" 
    map:cameraZoom="17" 
    /> 

這是我嘗試把標記對java的GoogleMaps活動:

package com.example.nir.nestleapp; 

import android.content.pm.PackageManager; 
import android.graphics.Camera; 
import android.location.Location; 
import android.support.annotation.NonNull; 
import android.support.annotation.Nullable; 
import android.support.v4.app.ActivityCompat; 
import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Toast; 

import com.google.android.gms.common.ConnectionResult; 
import com.google.android.gms.common.api.GoogleApiClient; 
import com.google.android.gms.location.LocationListener; 
import com.google.android.gms.location.LocationRequest; 
import com.google.android.gms.location.LocationServices; 
import com.google.android.gms.maps.CameraUpdate; 
import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.GoogleMapOptions; 
import com.google.android.gms.maps.MapFragment; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.CameraPosition; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.Marker; 
import com.google.android.gms.maps.model.MarkerOptions; 

import java.io.IOException; 
import java.util.Map; 

public class GoogleMapsActivity extends FragmentActivity implements OnMapReadyCallback{ 
    private GoogleMap mMap; 
    private LatLng nessziona=new LatLng(31.926597,34.800077); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_google_maps); 
     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.map); 
     mapFragment.getMapAsync(this); 
    } 

    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 
      mMap.addMarker(new MarkerOptions() 
        .position(nessziona) 
        .title("Hello world")); 
     mMap.moveCamera((CameraUpdateFactory.newLatLng(nessziona))); 
    } 



} 
+0

檢查我的答案below –

+0

請參閱此鏈接: - http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/ – itzswan

回答

0
 MarkerOptions options = new MarkerOptions(); 

      // Setting the position of the marker 
      // Set your multiple driver latitude and langitude below 
      options.position(CURRENT_LOCATION); 

//Markers from drawable 
options.icon(BitmapDescriptorFactory.fromResource(R.drawable.ambulance)); 

//For custom marker 
options.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)) 

      options.title("Driver 1"); 
      options.snippet("Driver-1"); 
      mMap.addMarker(options); 

希望這有助於你。如果您有任何問題,請隨時詢問。高興地幫助你:) :)

0

嘗試使用您的標記圖標!

Map.addMarker(new MarkerOptions() 
        .position(nessziona) 
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)) 
        .title("Hello world")); 

說明:

此行

.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)) 

會添加一個圖標爲你的標記,一個默認的紅色圖標。

參閱本link,更多信息

0

您的代碼似乎是正確的,所以首先檢查日誌(可地圖密鑰產生一些問題),並添加這一個在你的代碼也..

@Override 
public void onMapReady(GoogleMap googleMap) { 
LatLng nessziona=new LatLng(31.926597,34.800077); 
    mMap = googleMap; 
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
     mMap.addMarker(new MarkerOptions() 
       .position(nessziona) 
       .title("Hello world")); 
    mMap.moveCamera((CameraUpdateFactory.newLatLng(nessziona,17f))); 
} 

XML:

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:map="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/map" 
android:name="com.google.android.gms.maps.SupportMapFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.nir.nestleapp.GoogleMapsActivity" 

/> 
0

在我的項目我有這個和它的工作:

@Override 
public void onMapReady(GoogleMap googleMap) { 

    mMap = googleMap; 

    BitmapDescriptor markerCustomIcon = BitmapDescriptorFactory.fromResource(R.drawable.trash_recyclebin_empty_closed); 
    BitmapDescriptor markerDefaultIcon = BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_VIOLET); 
    List<Marker> markersList = new ArrayList<Marker>(); 
    for (int i = 0; i < pgoList.size(); i++) { 
     LatLng pos = new LatLng(pgoList.get(i).location.lat, pgoList.get(i).location.lon); 
     MarkerOptions marker = new MarkerOptions() 
       .position(pos) 
       .title(pgoList.get(i).address.full) 
       .icon(markerCustomIcon != null ? markerCustomIcon : markerDefaultIcon); 
     mMap.addMarker(marker); 
     markersList.add(mMap.addMarker(marker)); 
    } 
    builder = new LatLngBounds.Builder(); 
    for (Marker m : markersList) { 
     builder.include(m.getPosition()); 
    } 
    int padding = 0; 
    LatLngBounds bounds = builder.build(); 
    cu = CameraUpdateFactory.newLatLngBounds(bounds, padding); 
    mMap.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() { 
     @Override 
     public void onMapLoaded() { 
      mMap.animateCamera(cu); 
     } 
    }); 

}