标签: android-mapview

如何在Android中显示Toast?

我有一个可以拉起来的滑块,然后它会显示一张地图.我可以上下移动滑块来隐藏或显示地图.当地图在前面时,我可以处理该地图上的触摸事件.每当我触摸时,a AsyncTask会被启动,它会下载一些数据并生成一个Toast显示数据的数据.虽然我在触摸事件上启动任务但是没有显示吐司,直到我关闭滑块.当滑块关闭并且不再显示地图时,会Toast出现.

有任何想法吗?

好了开始任务

编辑:

public boolean onTouchEvent(MotionEvent event, MapView mapView){ 
    if (event.getAction() == 1) {
        new TestTask(this).execute();
        return true;            
    }else{
        return false;
    }
 }
Run Code Online (Sandbox Code Playgroud)

onPostExecute祝酒

Toast.makeText(app.getBaseContext(),(String)data.result, 
                Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

在新的TestTask(this),这是一个参考,MapOverlay而不是MapActivity,所以这是问题.

android toast android-asynctask android-mapview

433
推荐指数
13
解决办法
101万
查看次数

Keytool应用程序在哪里?

我需要在android中使用mapview控件,我似乎无法理解如何运行keytool.是用Eclipse安装的吗?我似乎找不到下载链接.

谢谢

java eclipse keytool android-mapview

134
推荐指数
6
解决办法
26万
查看次数

GoogleService无法初始化

我在我的Android应用程序中使用谷歌地图.我已经创建了密钥并在清单文件中添加了必要的权限.但很快我启动应用程序,我在调试器中收到此消息:

GoogleService初始化失败,状态:10,缺少预期资源:'R.string.google_app_id'用于初始化Google服务.可能的原因是缺少google-services.json或com.google.gms.google-services gradle插件.

我不确定什么是错的.地图工作正常,我可以毫无问题地使用它.我的gradle文件有这个条目:

编译'com.google.android.gms:play-services:8.4.0'

什么是抱怨,我该如何缓解它?

android google-maps android-mapview android-maps-v2

112
推荐指数
3
解决办法
10万
查看次数

在Google地图上绘制线条/路径

我已经忙了很长时间了解如何在HelloMapView中在地图上的两个(GPS)点之间画一条线,但没有运气.

有人可以告诉我该怎么做.

假设我使用扩展MapView的HelloMapView.我需要使用叠加层吗?如果是这样,我必须重写覆盖的onDraw()方法并在这里画一条线?我实际上尝试过这些东西,但没有结果.

先感谢您!

android google-maps overlay draw android-mapview

108
推荐指数
6
解决办法
14万
查看次数

除非您更新Google Play服务(通过Bazaar),否则此应用无法运行

我正在测试适用于Android的新Google Maps API V2,并在应用启动时收到此消息:

MainActivity显示错误消息

这是在4.1模拟器上运行.

这是我的AndroidManifest.xml档案:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.maptest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <permission
        android:name="com.example.maptest.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.maptest.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <!-- Require OpenGL ES version 2 -->
    <uses-feature
          android:glEsVersion="0x00020000"
          android:required="true"/>

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

        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="##myapikey##"/>

    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

文件MainActivity.java:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-mapview google-maps-android-api-2

100
推荐指数
4
解决办法
21万
查看次数

如何使用kml文件在地图上绘制路径?

我可以解析kml文件以显示Android中的路径或点吗?请你能帮助我吗?

这是kml示例代码,我想在android谷歌地图中显示:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Paths</name>
<description>Examples of paths. Note that the tessellate tag is by default
  set to 0. If you want to create tessellated lines, they must be authored
  (or edited) directly in KML.</description>
<Style id="yellowLineGreenPoly">
  <LineStyle>
    <color>7f00ffff</color>
    <width>4</width>
  </LineStyle>
  <PolyStyle>
    <color>7f00ff00</color>
  </PolyStyle>
</Style>
<Placemark>
  <name>Absolute Extruded</name>
  <description>Transparent green wall with yellow outlines</description>
  <styleUrl>#yellowLineGreenPoly</styleUrl>
  <LineString>
    <extrude>1</extrude>
    <tessellate>1</tessellate>
    <altitudeMode>absolute</altitudeMode>
    <coordinates> -112.2550785337791,36.07954952145647,2357
      -112.2549277039738,36.08117083492122,2357
      -112.2552505069063,36.08260761307279,2357
      -112.2564540158376,36.08395660588506,2357
      -112.2580238976449,36.08511401044813,2357
      -112.2595218489022,36.08584355239394,2357
      -112.2608216347552,36.08612634548589,2357
      -112.262073428656,36.08626019085147,2357
      -112.2633204928495,36.08621519860091,2357
      -112.2644963846444,36.08627897945274,2357
      -112.2656969554589,36.08649599090644,2357 
    </coordinates>
    <LineString>
    </Placemark>
    </Document>
    </kml> …
Run Code Online (Sandbox Code Playgroud)

android google-maps kml android-mapview

96
推荐指数
3
解决办法
10万
查看次数

使用CameraUpdateFactory.newLatLngBounds崩溃的moveCamera

我正在使用新的Android Google Maps API.

我创建了一个包含MapFragment的活动.在活动中,onResume我将标记设置为GoogleMap对象,然后为地图定义包含所有标记的边界框.

这是使用以下伪代码:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
while(data) {
   LatLng latlng = getPosition();
   builder.include(latlng);
}
CameraUpdate cameraUpdate = CameraUpdateFactory
   .newLatLngBounds(builder.build(), 10);
map.moveCamera(cameraUpdate);
Run Code Online (Sandbox Code Playgroud)

调用map.moveCamera()导致我的应用程序崩溃与以下堆栈:

Caused by: java.lang.IllegalStateException: 
    Map size should not be 0. Most likely, layout has not yet 

    at maps.am.r.b(Unknown Source)
    at maps.y.q.a(Unknown Source)
    at maps.y.au.a(Unknown Source)
    at maps.y.ae.moveCamera(Unknown Source)
    at com.google.android.gms.maps.internal.IGoogleMapDelegate$Stub
        .onTransact(IGoogleMapDelegate.java:83)
    at android.os.Binder.transact(Binder.java:310)
    at com.google.android.gms.maps.internal.IGoogleMapDelegate$a$a
        .moveCamera(Unknown Source)
    at com.google.android.gms.maps.GoogleMap.moveCamera(Unknown Source)
    at ShowMapActivity.drawMapMarkers(ShowMapActivity.java:91)
    at ShowMapActivity.onResume(ShowMapActivity.java:58)
    at android.app.Instrumentation
        .callActivityOnResume(Instrumentation.java:1185)
    at …
Run Code Online (Sandbox Code Playgroud)

android android-mapview google-maps-android-api-2

94
推荐指数
9
解决办法
8万
查看次数

如何使用Google Maps V2删除单个标记?

从地图中删除标记的唯一方法是明确的.但是它会从地图中清除所有标记.

我想只删除单个标记或一组标记.

我怎么能实现这个目标?

android google-maps android-mapview google-maps-android-api-2

79
推荐指数
3
解决办法
10万
查看次数

在Android Beta 0.9中使用ItemizedOverlay和OverlayItem

有没有人设法ItemizedOverlays在Android Beta 0.9中使用?我不能让它工作,但我不确定我是否做错了或者这个功能还没有.

我一直在尝试使用ItemizedOverlayOverlayItem类.它们的目的是模拟地图标记(如Google Maps Mashups中所示),但我遇到了让它们出现在地图上的问题.

我可以使用类似的技术添加自己的自定义叠加层,它只是ItemizedOverlays不起作用.

一旦我实现了我自己的ItemizedOverlay(并重写了createItem),创建我的类的新实例似乎工作(我可以从中提取OverlayItems),但将其添加到地图的叠加列表并不会使它显示为应该.

这是我用来将createItem类作为Overlay 添加到我的代码的代码OverlayItems.

// Add the ItemizedOverlay to the Map
private void addItemizedOverlay() {
  Resources r = getResources();
  MapView mapView = (MapView)findViewById(R.id.mymapview);
  List<Overlay> overlays = mapView.getOverlays();

  MyItemizedOverlay markers = new MyItemizedOverlay(r.getDrawable(R.drawable.icon));
  overlays.add(markers);

  OverlayItem oi = markers.getItem(0);
  markers.setFocus(oi);
  mapView.postInvalidate();
}
Run Code Online (Sandbox Code Playgroud)

在哪里Overlay定义为:

public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
  public MyItemizedOverlay(Drawable defaultMarker) {
    super(defaultMarker);
    populate();
  }

  @Override
  protected OverlayItem createItem(int …
Run Code Online (Sandbox Code Playgroud)

java android overlay android-mapview

54
推荐指数
1
解决办法
2万
查看次数

ScrollView中的MapFragment

我有一个新的MapFragments ScrollView.实际上它是一个SupportMapFragment,但无论如何.它有效,但有两个问题:

  1. 滚动时,会留下黑色面具.黑色完全覆盖了地图所在的区域,除了+/-缩放按钮所在的孔.见下面的截图.这是在Android 4.0上.

  2. requestDisallowInterceptTouchEvent()当用户与地图交互以防止ScrollView拦截触摸时,视图不会使用,因此如果您尝试在地图中垂直平移,则只会滚动包含ScrollView.理论上我可以派生一个视图类MapView并添加该功能,但是如何才能MapFragment使用我的自定义MapView而不是标准的?

滚动问题的部分截图

android google-maps android-mapview google-play-services

53
推荐指数
4
解决办法
2万
查看次数