我想开始为以下xml编写路径跟踪活动
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ToggleButton
android:id="@+id/trackingToggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:textOff="Start Tracking"
android:textOn="Stop Tracking"/>
</FrameLayout>
并在我的NeueRouteAufzeichnen.java中写下以下内容
package com.noureddine_ouertani.www.wocelli50;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import java.util.Map;
import com.google.android.maps.MapActivity;
public class NeueRouteAufzeichnen extends MapActivity {
}
以下导入中的地图为红色
import com.google.android.maps.MapActivity;
和MapActivity以及
public class NeueRouteAufzeichnen extends MapActivity
虽然安装了Google API(API 23)。 (我在Android SDK Manager中查看过) 我想尝试使用不赞成的东西吗? 提前感谢任何提示或帮助
PS:这是我的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.noureddine_ouertani.www.wocelli50"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-annotations:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.android.gms:play-services-maps:9.0.2'
compile 'com.google.android.gms:play-services-location:9.0.2'
compile 'com.google.android.gms:play-services-base:9.0.2'
}
我在AndroidManifest.xml中添加了以下内容
<uses-library android:name="com.google.android.maps"/>
编辑:我将XML(activity_neue_route_aufzeichnen.xml)更改为:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
tools:context=".NeueRouteAufzeichnen"
android:name="com.google.android.gms.maps.SupportMapFragment" />
将此添加到我的AndroidManifest.xml
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
删除此内容后
<uses-library android:name="com.google.android.maps"/>
并以下面的类为基础,在实现我的路由跟踪逻辑时进行构建。
package com.noureddine_ouertani.www.wocelli50;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
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.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class NeueRouteAufzeichnen extends FragmentActivity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_neue_route_aufzeichnen);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
// Add a marker in Sydney, Australia, and move the camera.
LatLng sydney = new LatLng(-34, 151);
map.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
map.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
}
我已经测试过这个在我的智能手机上使用谷歌地图的新活动,但它确实有效。现在我可以专注于跟踪路线。我会尽快在这里发布我的路线追踪代码,为这个问题道歉。 :)
PS:我已经将我从Google获得的地图密钥添加到values文件夹中的strings.xml中。感谢大家的回答。 每日课程:MapActivity已经淘汰! FragmentActivity在!
EDIT2:从我的观点来看,这个帖子在EDIT之后不再重复了,因为我解释了如何通过描述我所做的事情将你的第一个Google Maps活动整合到你的Android项目中。此外,我会在这里发布我的路线追踪逻辑。