编辑:创建标记并将其添加到地图中。调用映射后调用此方法。
public void testDisplay(){
// latitude and longitude
double latitude = 0;
double longitude = 0;
// create marker
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps ").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA));
// adding marker
map.addMarker(marker);
}
我正在开发一个提供行程的Java android应用程序。我实施了谷歌地图。但我似乎无法操纵地图(添加标记,移动,添加位置用户等)。
以下是我的导入(也许我正在导入相同类型的其他库):
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.codexmalta.mytravelbuddy.R;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import android.support.v4.app.FragmentActivity;
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;
这是我的方法,包含获取地图的行,我从onCreate()调用它:
SupportMapFragment fm = new SupportMapFragment();
public void getMapFragment(){
fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
map = fm.getMap();
Log.e("getmapfragment0", "got map fragment");
map.setMyLocationEnabled(true);
map.setMapType(map.MAP_TYPE_SATELLITE);
}
我还在地图上检查了NULL,它显示地图不是NULL。
地图甚至没有变成卫星。获取当前位置的按钮不会显示。我该怎么做才能解决这个问题?我迷路了,我需要在1月份提交这份申请。
答案 0 :(得分:0)
试试这个
活动必须为FragmentActivity
SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
GoogleMap mMap = fm.getMap();
添加marker
Marker mapPinPoint = mMap.addMarker(new MarkerOptions().position(new LatLng(latitude,longitude)).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
从testDisplay()
initialize the map
之后致电onCreate