2013-03-06 3 views
-1

Я следую за все действия, описанные в этих веб-сайтах:андроид MapActivity не может быть расширяет

https://developers.google.com/maps/documentation/android/v1/hello-mapview

И я скачал игры-сервисов SDK.

Однако я все еще получаю сообщение об ошибке:

The import com.google.android.maps cannot be resolved 

И я также не могу расширяет MapActivity:

Вот мой manifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.sale" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 

    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="10" /> 
    <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="android.permission.CAMERA"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <!-- The following two 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"/> 
    <permission 
     android:name="com.example.mapdemo.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature"/> 
     <uses-permission android:name="com.example.sale.permission.MAPS_RECEIVE"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <uses-library android:name="com.google.android.maps" /> 


     <activity 
      android:name="com.example.sale.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 


       </activity> 

     <!-- Entry for RegisterActivity.class --> 
     <activity android:name=".RegisterActivity" 
        android:label="Register New Account"></activity> 
     <meta-data android:value="@string/app_id" android:name="com.facebook.sdk.ApplicationId"/> 
     <activity android:label="@string/app_name" android:name="com.facebook.LoginActivity"></activity> 
     <activity android:name=".ProfileActivity" android:label="Profile page"></activity> 

     <meta-data 
       android:name="com.google.android.maps.v2.API_KEY" 
       android:value="AIzaSyDTVRXMTmfe3jZyAlt-87kRgqM8y4TzIto"/> 

    </application> 

</manifest> 

И вот MapActivity, которую я начинаю создавать (однако он не распознает MapActivity):

package com.example.sale; 

import com.google.android.maps.GeoPoint; 
import com.google.android.maps.MapView; 
import com.google.android.maps.MapActivity; 


public class SaleMapActivity extends MapActivity { 

} 

В чем проблема? Я следил за всеми шагами и много читал в google, но без ответа. Как его решить?

+0

дублированный вопрос http://stackoverflow.com/questions/2282553/mapactivity-class-in-android – fonZ

+0

Существует два API сопоставления: Карты V1 и Карты V2. Вы смешиваете этих двух. Поскольку Maps V1 теперь устарел, используйте Maps V2. Карты V2 описаны здесь: https://developers.google.com/maps/documentation/android/ Если вы посещаете URL-адреса, на которых есть 'v1 /', вы не в том месте. – CommonsWare

+0

привет, я использовал версию Maps v2, как вы можете видеть из моего манифеста. Я не понимаю, так что же такое импорт, который мне нужно написать? он не распознает мой импорт? –

ответ

1

Вы путаете как API, есть часть вашего кода, которые с Google Maps API V1, как:

<uses-library android:name="com.google.android.maps" /> 

и многое другое.

а также части API v2, какой API v2 вы хотите использовать? Я рекомендую вам придерживаться API V2 Google Maps, я написал в блоге о том, как реализовать Google Map API V2 в вашем приложении, вы можете проверить его здесь:

Google Maps API V2 Implementation

+0

привет, я следил за всеми шагами в вашем блоге (и я обнаружил, что у меня нет изменений в моем коде). Что я неправильно делаю? каковы изменения, которые мне нужно реализовать inorder для расширения MapActivity? –

+0

MapActivity - это объект API Google V1 и не может использоваться в V2. ваша деятельность должна расширять FragmentActivity, и вы должны использовать SupportMapFragment, чтобы показать карту, а не MapView. чем больше объект координат в этом API является LatLng, а не GeoPoint. –

+0

спасибо, и что мне следует импортировать в проект? –

0

Это Prety много просто вы не обязаны скачивать какую-либо вещь только то, что вам нужно, это изменить параметр «Скомпилировать с» на «googleAPIs» при создании нового проекта.

Смежные вопросы