我可以解析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) 我在视图寻呼机中集成了新的谷歌地图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) 是否可以将Google地图v3限制在某个区域?我想允许只显示某个区域(例如国家/地区)并禁止用户滑动到其他位置.此外,我想限制缩放级别 - 例如仅在级别6和9之间.我想使用所有基本地图类型.
有没有办法实现这个目标?
我通过使用StyledMap限制缩放级别取得了部分成功,但我仅限制了ROADMAP,我无法通过这种方式限制其他基本类型的缩放.
谢谢你的帮助
我在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 API并添加了标记.现在我想在每个标记周围添加10英里半径,这意味着在缩放时表现得恰到好处的圆圈.我不知道该怎么做,似乎并不常见.
我发现了一个看起来不错的示例,您也可以查看谷歌纵横.在那里他们使用半径的标记,就像我想要的那样.
更新:谷歌纵横使用缩放的图像,这将如何工作?
有一个"人"图标,允许用户查看"街景".我不想在我的地图上使用此功能,有没有办法删除它或禁用?
我的步骤:
创建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)创建布局
编译后我崩溃了:
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) :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
我一直在使用谷歌地图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 API v3中删除'bounds_changed'事件侦听器?
google.maps.event.removeListener(_???_);
Run Code Online (Sandbox Code Playgroud)