标签: google-maps

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

使用Google Maps API v2的ViewPager:神秘的黑色视图

我在视图寻呼机中集成了新的谷歌地图api v2片段.从地图片段滚动时,黑色视图与相邻片段重叠.有人解决了吗?

编辑:截图

在此输入图像描述

public static class PagerAdapter extends FragmentPagerAdapter{

    public PagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public int getCount() {
        return NUM_ITEMS;
    }

    @Override
    public Fragment getItem(int position) {

        Fragment pageFragment;

        switch (position) {
        case 0:
            pageFragment = new TabAFragment();
            break;

        case 1:
            pageFragment = new TabBFragment();
            break;

        case 2:
            pageFragment = SupportMapFragment.newInstance();
            break;

        default:
            pageFragment = null;
            break;
        }

        return pageFragment;
    }
}
Run Code Online (Sandbox Code Playgroud)

android google-maps android-viewpager

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

Google Maps v3 - 限制可视区域和缩放级别

是否可以将Google地图v3限制在某个区域?我想允许只显示某个区域(例如国家/地区)并禁止用户滑动到其他位置.此外,我想限制缩放级别 - 例如仅在级别6和9之间.我想使用所有基本地图类型.

有没有办法实现这个目标?

我通过使用StyledMap限制缩放级别取得了部分成功,但我仅限制了ROADMAP,我无法通过这种方式限制其他基本类型的缩放.

谢谢你的帮助

javascript google-maps google-maps-api-3

94
推荐指数
4
解决办法
13万
查看次数

主线程检查器:在后台线程上调用UI API: - [UIApplication applicationState]

我在Xcode 9 beta,iOS 11中使用谷歌地图.

我收到错误输出到日志如下:

主线程检查器:在后台线程上调用的UI API: - [UIApplication applicationState] PID:4442,TID:837820,线程名称:com.google.Maps.LabelingBehavior,队列名称:com.apple.root.default-qos.overcommit ,QoS:21

为什么会发生这种情况,因为我几乎可以肯定我并没有改变代码中主线程的任何接口元素.

 override func viewDidLoad() {

    let locationManager = CLLocationManager()


    locationManager.requestAlwaysAuthorization()


    locationManager.requestWhenInUseAuthorization()

        if CLLocationManager.locationServicesEnabled() {

            locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
            locationManager.startUpdatingLocation()
        }

      viewMap.delegate = self

     let camera = GMSCameraPosition.camera(withLatitude: 53.7931183329367, longitude: -1.53649874031544, zoom: 17.0)


        viewMap.animate(to: camera)


    }

    func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        let locValue:CLLocationCoordinate2D = manager.location!.coordinate
        print("locations = \(locValue.latitude) \(locValue.longitude)")
    }

    func mapView(_ mapView: GMSMapView, willMove gesture: Bool) {


    }

    func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {

        if(moving …
Run Code Online (Sandbox Code Playgroud)

google-maps swift xcode9-beta

94
推荐指数
3
解决办法
6万
查看次数

在Google地图中的某个点周围绘制半径

我正在使用Google Maps API并添加了标记.现在我想在每个标记周围添加10英里半径,这意味着在缩放时表现得恰到好处的圆圈.我不知道该怎么做,似乎并不常见.

我发现了一个看起来不错的示例,您也可以查看谷歌纵横.在那里他们使用半径的标记,就像我想要的那样.

更新:谷歌纵横使用缩放的图像,这将如何工作?

javascript google-maps

92
推荐指数
3
解决办法
25万
查看次数

Google Maps V3:如何禁用"街景"?

有一个"人"图标,允许用户查看"街景".我不想在我的地图上使用此功能,有没有办法删除它或禁用?

街景

google-maps

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

Google Maps Android API v2授权失败

我的步骤:

  • 从debug.keystore获取SHA1代码
  • 在谷歌apis控制台中创建应用程序
  • 启用了谷歌地图api v2
  • 输入SHA1; my.package.name
  • 获取API密钥
  • 创建AndroidManifest文件:

        <permission
                android:name="my.package.name.permission.MAPS_RECEIVE"
                android:protectionLevel="signature"/>
    
        <uses-permission android:name="my.package.name.permission.MAPS_RECEIVE"/>
    
        <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
    
        <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"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    
        <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    
        <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:hardwareAccelerated="true">
    
            <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="MY_API_KEY_HERE" />
    
            <activity android:name="MyActivity"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>
        </application>
    </manifest>
    
    Run Code Online (Sandbox Code Playgroud)
  • 创建布局

  • 把"google-play-services.jar"放到libs上

编译后我崩溃了:

  ERROR/AndroidRuntime(10182): FATAL EXCEPTION: main
                java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
                at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
                at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
                at android.app.Activity.onCreateView(Activity.java:4716)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
                at android.app.Activity.setContentView(Activity.java:1881) …
Run Code Online (Sandbox Code Playgroud)

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

92
推荐指数
6
解决办法
13万
查看次数

Google Maps SDK 错误在最后一小时开始出现

:com.google.android.gms.dynamite_mapsdynamite@201216046@20.12.16 (040306-0) line 9
com.google.maps.api.android.lib6.gmm6.vector.ct.<init>
Run Code Online (Sandbox Code Playgroud)

此错误开始发生在随机设备上。有没有人有同样的问题?

我没有发布任何内容,也没有改变应用程序的任何内容。

我的地图片段 XML:

<fragment
android:id="@+id/map_stops" 
android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" 
android:layout_height="match_parent" tools:context="com.comprovei.entregas.fragments.TabTripsMapFragment" />
Run Code Online (Sandbox Code Playgroud)

片段代码:

public class TabTripsMapFragment extends Fragment implements OnMapReadyCallback {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.tab_fragment_stops_map, null, false);

        ChildFragmentManager()
                .findFragmentById(R.id.map_stops);
        mapFragment.getMapAsync(this);

        return view;
    }

    @Override
    public void onMapReady(final GoogleMap googleMap) {

        ...

    }

}
Run Code Online (Sandbox Code Playgroud)

编辑*:我正在尝试在 Twitter 上跟进:https : //twitter.com/googlemaps/status/1253419390046834691

编辑: 这里的最终回应: https : //issuetracker.google.com/issues/154855417#comment509

android google-maps

92
推荐指数
3
解决办法
6202
查看次数

Google Maps API警告:NoApiKeys

我一直在使用谷歌地图API v3一段时间没有API密钥,它运作良好.
它仍然有效,但我在控制台中收到警告:

Google Maps API警告:NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys

我以标准方式包含脚本:

<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script>
Run Code Online (Sandbox Code Playgroud)

google.maps.version表明我使用的是3.24.2.

在Google文档中,我只能看到获取密钥的不同方法,但没有迹象表明是否需要.我今天注意到了警告,我很确定它几周前没有出现.

现在一切正常,但我担心将来没有API密钥的地图访问将会停止.如果我不是绝对需要,我不愿意注册一把钥匙.

我应该担心吗?

google-maps google-maps-api-3

90
推荐指数
4
解决办法
11万
查看次数

89
推荐指数
3
解决办法
9万
查看次数