相关疑难解决方法(0)

在Android上获取用户当前位置的最简单,最强大的方法是什么?

LocationManagerAndroid上的API似乎对于仅需要偶尔粗略估计用户位置的应用程序来说有点痛苦.

我正在处理的应用程序本身并不是一个位置应用程序,但它确实需要获取用户的位置才能显示附近的商家列表.它不需要担心用户是否在移动或类似的东西.

这是我想做的事情:

  1. 向用户显示附近位置的列表.
  2. 预加载用户的位置,以便在ActivityX中需要它时,它将可用.
  3. 我并不特别关心更新的准确性或频率.只要没有办法,抓住一个位置就足够了.也许如果我想要花哨,我会每隔几分钟更新一次位置,但这不是一个重要的优先事项.
  4. 只要有GPS或网络位置提供商,就可以使用任何设备.

看起来它应该不那么难,但在我看来,我必须启动两个不同的位置提供商(GPS和NETWORK)并管理每个生命周期.不仅如此,我还必须在多个活动中复制相同的代码以满足#2.我曾尝试过使用getBestProvider()过去将解决方案缩减为只使用一个位置提供商,但这似乎只能为您提供最好的"理论"提供商,而不是实际上会给您带来最佳结果的提供商.

有没有更简单的方法来实现这一目标?

android location geolocation latitude-longitude

788
推荐指数
12
解决办法
31万
查看次数

如何在Android中以编程方式获取当前GPS位置?

我需要以编程方式使用GPS获取当前位置.我怎样才能实现它?

gps android location geolocation

694
推荐指数
17
解决办法
86万
查看次数

如何使用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万
查看次数

J2ME/Android/BlackBerry - 行车路线,两个地点之间的路线

在Android 1.0上有一个com.google.googlenav命名空间用于行车路线:
路线 - 改进了Google行车路线
但是在较新的SDK中,它被某些原因删除了......
Android:自API 1.0以来删除了DrivingDirections - 如何在1.5 /中执行1.6? 在黑莓手机上也缺少这样的API:
如何找到Blackberry中两个地方之间的路线?

CSIE-TW给出了一个解决方法(对于KML文件查询gmaps并解析它):
Android的-驾驶方向(路由路径)
安德烈取得了DrivingDirections辅助类为Android.
我在j2me中为这个功能写了一个小助手,所以我想在Android和BlackBerry上分享我的样本.

更新
正如评论中所述,Google Maps API服务条款并未正式允许:

Google地图/ Google地球API服务条款
上次更新时间:2009年5月27日
...
10.许可限制.除非条款明确允许,或者除非您事先获得Google(或适用的特定内容提供商)的书面授权,否则Google的上述许可均受您遵守以下所有限制的约束.除非第7节或Maps API文档中明确允许,否则您不得(也不允许任何其他人):
...
10.9将服务或内容与任何产品,系统或应用程序一起使用或与之相关:
(a)实时导航或路线引导,包括但不限于与用户的传感器使能设备的位置同步的逐向路线引导;

并且可能对某些应用程序禁用(不知何故,至少在Android上)...来自.NET会话中的Geocode抓取:

API使用条款不允许这样做.您不应该刮掉谷歌地图来生成地理编码.我们将阻止对我们的服务器进行自动查询的服务.

Bret Taylor
Google地图产品经理

将不胜感激任何替代和/或建议!
谢谢!

android blackberry geolocation java-me driving-directions

90
推荐指数
1
解决办法
10万
查看次数

使用Google Places API

我想开发一个应用程序,我希望通过获取当前位置来显示用户附近(1公里内)附近地点的信息.

比如说我想显示有关距离Android设备当前位置1公里范围内的餐馆,购物中心,医院的信息.

我已经浏览了这个链接:在Android中使用Google Places API ..但没有得到更多.

有没有人在Android中使用过Google Places API?

android android-maps android-layout

34
推荐指数
2
解决办法
6万
查看次数

Android:使用Google Places API查找附近的地点

我正在尝试使用Google Places API获取附近地点的列表.我已从Google Devloper控制台启用了需要的API并拥有有效的API密钥.我能够得到我的位置.在我得到我当前的位置后,我试图获得附近的地方列表,但它返回空.

我也尝试过给予null PlaceFilter但是它给出了相同的结果.

private class MyGoogleMapOnMyLocationListener implements
            OnMyLocationChangeListener,
            ConnectionCallbacks,
            OnConnectionFailedListener {
        private GoogleApiClient mGoogleApiClient;

        @Override
        public void onMyLocationChange(Location location) {
            if (!hasLastLocation) {
                hasLastLocation = true;
                mLastLocation = location;
                Log.d(LOG_TAG, "Location: " + location.toString());

                if (googleMap != null ) {
                    googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
                            new LatLng(location.getLatitude(), location.getLongitude()), 16.0f));

                    if (mGoogleApiClient == null) {
                        mGoogleApiClient = new GoogleApiClient
                                .Builder(getActivity())
                                .addApi(Places.GEO_DATA_API)
                                .addApi(Places.PLACE_DETECTION_API)
                                .addConnectionCallbacks(this)
                                .addOnConnectionFailedListener(this)
                                .build();
                        mGoogleApiClient.connect();
                    }
                }
            }
        }

        @Override
        public void onConnected(Bundle bundle) {
            Log.d(LOG_TAG, "Google Api Client …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-places-api

12
推荐指数
1
解决办法
4840
查看次数