- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在按照有关在 android 中构建 map 的 google 说明进行操作,到目前为止我已经成功了。
但是,当我尝试添加带有一些经纬度的热图时,应用程序失败并且我收到以下错误消息
Could not find class 'com.google.maps.android.heatmaps.HeatmapTileProvider$Builder', referenced from method com.example.heatmap.MainActivity.addHeatMap
我到处搜索,找不到解决办法。根据在线说明,已正确添加 Utils 库以及 google play 服务。谁能告诉我我在这里做错了什么。
对于 Clarity, map 工作正常,但当我调用热图方法时应用失败。
package com.example.heatmap;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONObject;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.UiSettings;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.TileOverlay;
import com.google.android.gms.maps.model.TileOverlayOptions;
import com.google.maps.android.heatmaps.HeatmapTileProvider;
/**
* This shows how to create a simple activity with a map and a marker on the map.
* <p>
* Notice how we deal with the possibility that the Google Play services APK is not
* installed/enabled/updated on a user's device.
*/
public class MainActivity extends FragmentActivity {
/**
* Note that this may be null if the Google Play services APK is not available.
*/
private GoogleMap mMap;
static final LatLng Ireland = new LatLng(53.5056, -7.8289);
static final LatLng IrelandCenter = new LatLng(53.4026137,-7.969749234);
private UiSettings Settings;
private JSONObject testjson = new JSONObject();
private static String file = "sample_locations.json";
private HeatmapTileProvider mProvider;
private TileOverlay mOverlay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment mapFragment =
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
if (savedInstanceState == null) {
// First incarnation of this activity.
mapFragment.setRetainInstance(true);
} else {
// Reincarnated activity. The obtained map is the same map instance in the previous
// activity life cycle. There is no need to reinitialize it.
mMap = mapFragment.getMap();
}
setUpMapIfNeeded();
}
@Override
protected void onResume() {
super.onResume();
setUpMapIfNeeded();
}
private void setUpMapIfNeeded() {
// Do a null check to confirm that we have not already instantiated the map.
if (mMap == null) {
// Try to obtain the map from the SupportMapFragment.
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
// Check if we were successful in obtaining the map.
if (mMap != null) {
setUpMap();
locateMapIreland();
createMarker();
addHeatMap();
}
}
}
/**
* This is where we can add markers or lines, add listeners or move the camera. In this case, we
* just add a marker near Africa.
* <p>
* This should only be called once and when we are sure that {@link #mMap} is not null.
*/
private void setUpMap() {
mMap.setMyLocationEnabled(true);
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
Settings = mMap.getUiSettings();
Settings.setRotateGesturesEnabled(false);
Settings.setZoomGesturesEnabled(true);
Settings.setCompassEnabled(true);
}
private void locateMapIreland(){
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(IrelandCenter,7));
}
private void createMarker(){
Marker testMarker = mMap.addMarker(new MarkerOptions()
.position(Ireland)
.draggable(true)
.title("Title text")
.snippet("Snippet text")
.flat(false));
testMarker.showInfoWindow();
}
private void addHeatMap() {
List<LatLng> list = new ArrayList<LatLng>();
LatLng one = new LatLng(53.998,-8.624);
list.add(one);
LatLng two = new LatLng(52.443,-8.988);
list.add(two);
LatLng three = new LatLng(52.286,-8.319);
list.add(three);
LatLng four = new LatLng(54.162,-8.253);
list.add(four);
LatLng five = new LatLng(53.364,-6.453);
list.add(five);
List <LatLng> listTwo = null;
// Get the data: latitude/longitude positions of police stations.
// Create a heat map tile provider, passing it the latlngs of the police stations.
mProvider = new HeatmapTileProvider.Builder()
.data(list)
.build();
// Add a tile overlay to the map, using the heat map tile provider.
mOverlay = mMap.addTileOverlay(new TileOverlayOptions().tileProvider(mProvider));
}
}
最佳答案
事实证明,您需要确保在属性选项卡下将 google play 服务和 google util 库作为库添加到您的项目中。教程没有展示这一点,只展示了如何将播放服务作为 lib 添加到 utils
关于android - 找不到类 'com.google.maps.android.heatmaps.HeatmapTileProvider$Builder',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22291523/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!