Ich habe versucht, in einem linearen Layout zu implementieren, und dieses Layout gehört nicht zu einer MapActivity
. Ich habe auch keinen fragment
verwendet, um diesen Prozess zu implementieren.Android: Wie man com.google.android.gms.maps.MapView implementiert, ohne eine Kartenaktivität zu verwenden
Außerdem habe ich einen API-Schlüssel von der Google Developer Console erhalten und einige APIs aktiviert, die sich auf Standorte und Karten beziehen.
Das ist mein Android-Manifest in Android Studio ist,
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sec.asdf_solutions.biz.security">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<uses-library android:name="com.google.android.maps" />
<activity android:name=".SplashScreenActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".LoginActivity"></activity>
<activity
android:name=".RosterActivity"
android:configChanges="locale"
android:label=""
android:theme="@style/AppTheme.Light" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/api_key" />
</application>
</manifest>
Das ist mein Layout
Datei ist<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/content_roster_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginTop="3dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".RosterActivity"
tools:showIn="@layout/app_bar_roster">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:orientation="vertical">
<com.google.android.gms.maps.MapView
android:id="@+id/roster_map_view"
android:layout_width="match_parent"
android:layout_height="300dp"
android:apiKey="xxx--yyy-zzz-aaa-www"
android:layout_weight="1"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/roster_map_view"
android:layout_marginTop="4dp"
android:layout_marginBottom="15dp"
android:alpha="0.5"
android:background="#765491"
android:orientation="vertical">
<TextView
android:id="@+id/roster_ac_date_text"
android:layout_width="match_parent"
android:layout_height="36dp"
android:layout_gravity="center"
android:background="#563e6b"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:text="5 th MAY 2017"
android:textStyle="bold"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="22sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="START TIME"
android:textStyle="bold"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="END TIME"
android:textStyle="bold"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/roster_st_time_text"
android:text="08.30 AM"
android:textStyle="bold"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="20sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/roster_ed_time_text"
android:text="05.30 PM"
android:textStyle="bold"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="20sp" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/roster_location_text"
android:layout_marginRight="35dp"
android:layout_marginLeft="35dp"
android:layout_marginTop="8dp"
android:drawablePadding="5dp"
android:drawableLeft="@drawable/ic_place_small"
android:textAlignment="center"
android:maxLines="3"
android:lines="3"
android:clickable="true"
android:textSize="14sp"
android:text="Australian Strategic Partnership\n#9, School Lane, Kollpity, Colombo 3"
android:textColor="@android:color/white" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:orientation="horizontal">
<android.support.v7.widget.AppCompatButton
android:id="@+id/roster_accept_btn"
style="@style/ButtonStyle"
android:layout_height="32dp"
android:background="@color/loginColor"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="40dp"
android:textSize="16sp"
android:textStyle="bold"
android:layout_weight="1"
android:clickable="true"
android:text="ACCEPT" />
<android.support.v7.widget.AppCompatButton
android:id="@+id/roster_reject_btn"
style="@style/ButtonStyle"
android:layout_height="32dp"
android:background="@color/acceptedPurpleColour"
android:layout_marginBottom="10dp"
android:layout_marginLeft="40dp"
android:layout_marginRight="10dp"
android:textSize="16sp"
android:textStyle="bold"
android:clickable="true"
android:layout_weight="1"
android:text="REJECT" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
buid.gradle (Modul: app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '25.0.0'
defaultConfig {
applicationId "sec.asdf_solutions.biz.security"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.prolificinteractive:material-calendarview:1.4.3'
compile 'com.google.android.gms:play-services-maps:10.2.1'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'joda-time:joda-time:2.9.4'
compile 'com.auth0.android:jwtdecode:1.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.android.gms:play-services-location:10.2.1'
compile 'com.android.support:support-annotations:24.2.0'
compile 'com.google.firebase:firebase-messaging:10.2.0'
compile 'com.google.maps:google-maps-services:0.1.20'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
Das ist meine Tat ivity für obige Verfahren zu implementieren,
public class RosterActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
//protected MapView mMapView;
android.support.v7.widget.AppCompatButton acceptButton;
android.support.v7.widget.AppCompatButton rejectButton;
private Context context;
private String token;
private long idLong;
private Response responseBody;
TextView rosterDateTextView;
TextView rosterStartTimeTextView;
TextView rosterEndTimeTextView;
TextView rosterLocationTextView;
View mainView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_roster);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_roster);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
@Override
public boolean onNavigationItemSelected(MenuItem item) {
return true;
}
}
Wichtiger Hinweis: Ich bin nicht MapActivity verwenden.
Haben Sie irgendwelche Ideen?
Können Sie mir ein Code-Snippet für die obige Methodenimplementierung bereitstellen?Wenn Sie können, ist es eine große Hilfe für mich – Barrier
Ist auch etwas falsch in meinen Schritten? – Barrier
Sie überschreiben einfach jeden Rückruf und übergeben den Anruf an MapView, so wie es heißt. Ich habe ein Beispiel hinzugefügt. – ianhanniballake