谷歌地图在android中不显示标记
我在谷歌地图在android中不显示标记,android,google-maps,android-studio,google-maps-markers,Android,Google Maps,Android Studio,Google Maps Markers,我在googledevelopers网站上发布了toturial,并在MapsActivity.java package com.pro.soft.inzi.track_trace; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.View; import android.widget.Butt
googledevelopers
网站上发布了toturial,并在MapsActivity.java
package com.pro.soft.inzi.track_trace;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.widget.Button;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
Button sign_in_btn = (Button) findViewById(R.id.b1);
sign_in_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),Live.class);
startActivity(intent);
}
});
Button history_btn = (Button) findViewById(R.id.b2);
history_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), History.class);
startActivity(intent);
}
});
}
@Override
public void onMapReady(GoogleMap googleMap) {
// Add a marker in Pakistan and move the camera
LatLng Pakistan = new LatLng(31, 71);
googleMap.addMarker(new MarkerOptions().position(Pakistan).title("Marker in Pakistan"));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(Pakistan));
}
}
这些是AndroidManifest.xml
文件中的权限
<uses-permission android:name="android.permission.INTERNET" />
<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" />
<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--
To retrieve OAuth 2.0 tokens or invalidate tokens to disconnect a user. This disconnect
option is required to comply with the Google+ Sign-In developer policies
-->
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<!-- To retrieve the account name (email) as part of sign-in: -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- To auto-complete the email text field in the login form with the user's emails -->
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<permission
android:name="your.package.name.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="your.package.name.permission.MAPS_RECEIVE"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
试试这个
googleMap.addMarker(new MarkerOptions()
.position(Pakistan)
.title("Marker in Pakistan")
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
googleMap.addMarker(新标记选项().position(新纬度、经度)).title(“我的位置”).snippet(“kochi”).draggable(true)) 首先,您应该在
onCreate(…)
您的onMapReady(GoogleMap GoogleMap)
未被调用。
您需要在映射片段上调用getmapsync
,以设置OnMapReadyCallback
从
公共void getmapsync(OnMapReadyCallback回调)
设置一个回调对象,当GoogleMap
实例已准备好使用
在onCreate
函数的末尾添加此代码:
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
我现在添加了这一点,但在您发布的SupportMapFragment的
googleMap
使用位置的上述代码中,Marker
仍然不可见,因为当我将鼠标悬停在它上面时,ToolTiptText show变量googleMap从未被用作SupportMapFragment googleMap
或googleMap
添加标记,而map正在运行动画在某些情况下会引起问题谢谢你!!当我在onCreate()
中添加此项时,活动会显示一个对话框,其中包含不幸的是,MapsActivity已停止
为什么this@InzimamTariq如果不看到错误,很难判断问题出在哪里,你能发布你的activity_maps.xml和错误的堆栈跟踪吗?我添加了我的activity_maps
代码。它不会产生错误/堆栈跟踪,但当“活动”启动时,会出现一个带有的弹出窗口。不幸的是,MapsActivity已停止
@Inzimam Tariq它基于您的“活动”\u maps.xml,我猜您的应用程序正在抛出一个ClassCastException
。我已经编辑了我的答案
add this ,it works
SupportMapFragment googleMap=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);