Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌地图在android中不显示标记_Android_Google Maps_Android Studio_Google Maps Markers - Fatal编程技术网

谷歌地图在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);