【发布时间】:2013-12-23 12:56:47
【问题描述】:
编辑:创建一个标记并将其添加到地图中。该方法在地图调用后调用。
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。
地图甚至没有变为卫星。获取当前位置的按钮不显示。我能做些什么来解决这个问题?我迷路了,我需要在一月份提交此申请。
【问题讨论】:
-
您是否在 SDK 中下载了 google play services 库?或发布您的 logcat 以便快速解决
-
而不是 map.MAP_TYPE_SATELLITE 使用 GoogleMap.MAP_TYPE_SATELLITE
-
@kaushik 是的,我后来意识到了这个错误,修复了它,但它仍然没有用。而且我无法真正获得 LogCat,因为我正在我的移动设备上进行测试。也许我可以把整个项目发给你,你换成你的调试密钥并自己测试?
-
如果您将设备连接到计算机,您仍然可以获得 LogCat 跟踪。除了 MAP_TYPE_SATELLITE 部分之外,您是否收到任何错误或地图加载正确?地图是否显示您的位置?
-
你的项目中添加了 google play lib 吗??
标签: java android google-maps supportmapfragment