- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用堆栈溢出答案之一的交互式信息窗口。
链接如下:
但是我在代码中使用 getMap() 时遇到错误。虽然我尝试使用 getMapAsync 但无法解决问题。请尽快帮助我。如果有任何新代码可用于带按钮的交互式信息窗口,请分享代码。
public class MainActivity extends Activity {
private ViewGroup infoWindow;
private TextView infoTitle;
private TextView infoSnippet;
private Button infoButton;
private OnInfoWindowElemTouchListener infoButtonListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final MapFragment mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.map);
final MapWrapperLayout mapWrapperLayout = (MapWrapperLayout)findViewById(R.id.map_relative_layout);
final GoogleMap map = mapFragment.getMap();
// MapWrapperLayout initialization
// 39 - default marker height
// 20 - offset between the default InfoWindow bottom edge and it's content bottom edge
mapWrapperLayout.init(map, getPixelsFromDp(this, 39 + 20));
// We want to reuse the info window for all the markers,
// so let's create only one class member instance
this.infoWindow = (ViewGroup)getLayoutInflater().inflate(R.layout.info_window, null);
this.infoTitle = (TextView)infoWindow.findViewById(R.id.title);
this.infoSnippet = (TextView)infoWindow.findViewById(R.id.snippet);
this.infoButton = (Button)infoWindow.findViewById(R.id.button);
// Setting custom OnTouchListener which deals with the pressed state
// so it shows up
this.infoButtonListener = new OnInfoWindowElemTouchListener(infoButton,
getResources().getDrawable(R.drawable.btn_default_normal_holo_light),
getResources().getDrawable(R.drawable.btn_default_pressed_holo_light))
{
@Override
protected void onClickConfirmed(View v, Marker marker) {
// Here we can perform some action triggered after clicking the button
Toast.makeText(MainActivity.this, marker.getTitle() + "'s button clicked!", Toast.LENGTH_SHORT).show();
}
};
this.infoButton.setOnTouchListener(infoButtonListener);
map.setInfoWindowAdapter(new InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
// Setting up the infoWindow with current's marker info
infoTitle.setText(marker.getTitle());
infoSnippet.setText(marker.getSnippet());
infoButtonListener.setMarker(marker);
// We must call this to set the current marker and infoWindow references
// to the MapWrapperLayout
mapWrapperLayout.setMarkerWithInfoWindow(marker, infoWindow);
return infoWindow;
}
});
// Let's add a couple of markers
map.addMarker(new MarkerOptions()
.title("Prague")
.snippet("Czech Republic")
.position(new LatLng(50.08, 14.43)));
map.addMarker(new MarkerOptions()
.title("Paris")
.snippet("France")
.position(new LatLng(48.86,2.33)));
map.addMarker(new MarkerOptions()
.title("London")
.snippet("United Kingdom")
.position(new LatLng(51.51,-0.1)));
}
public static int getPixelsFromDp(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dp * scale + 0.5f);
}
}
错误是因为谷歌已经删除了 getMap 但不知道替代解决方案。
Error:(149, 42) 错误:找不到符号方法 getMap()
最佳答案
您现有的代码是:
final MapFragment mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.map);
final GoogleMap map = mapFragment.getMap();
试试这个而不是那个:
MapFragment mapFragment; // declare in global scope
GoogleMap googleMap; // declare in global scope
将此代码放在 OnCreate 方法中:
mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap map) {
googleMap = map;
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
googleMap.setMyLocationEnabled(false); // false to disable
googleMap.setOnMarkerClickListener(onMarkerClick);
googleMap.setOnInfoWindowClickListener(onInfoWindowClick);
googleMap.getUiSettings().setZoomControlsEnabled(true);// Display Zoom Controls
googleMap.setMyLocationEnabled(true);// Display My Location Control
}
});
}
要将像素转换为 DP,请使用:
public int getPixelsFromDp(int px){
DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
return Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
}
关于java - getMap() 出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46180722/
我有两个方法@GetMapping和@GetMapping("/{id}") @RestController("/user"){ public class UserRestController { @
我想将编码添加到映射 Controller 的响应中。但是由于某种原因出现了编译错误。只需要一个值数组 如何在响应中添加编码? 最佳答案 @GetMapping("/cards", produces
有时可能会发生这样的情况:数据库中什么都没有,方法 .findAll() 没有任何内容可显示并返回空主体。我知道我有这个函数的返回类型“List”,并且我不能直接返回字符串,但是如果列表为空,我如何以
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 7 年前。 我知道周围有很多类似的帖子,但没
我正在尝试为 @GetMapping 创建多条路线。例如,localhost:8080/tasks 和 localhost:8080/tasks/?status=... 所以我创建了如下几个方法。 C
Image for clarification我是 Spring MVC 的新手,我正在 Maven 上做这个项目。我试图导入 @GetMapping 但它没有被导入。可能是什么问题?有人可以帮我吗?
我只是创建一个 map 项目并执行此代码。但是有 getMap() 错误。我尝试了一些来自互联网的示例代码,但 getMap() 函数中也存在同样的错误。代码是: private Google
private GoogleMap mMap; 我从 MainActivity 开始一个类似的 Activity : @SuppressWarnings("StatementWithEmptyBody
我正在尝试使用堆栈溢出答案之一的交互式信息窗口。 链接如下: interactive infowindow 但是我在代码中使用 getMap() 时遇到错误。虽然我尝试使用 getMapAsync 但
我试图在不依赖 application.properties 中的 server.contextPath 的情况下创建我的路由 这是一个例子: @PreAuthorize("hasRole('ROLE
这个问题在这里已经有了答案: Cannot resolve method getMap() (2 个答案) 关闭 4 年前。 我对这段代码有疑问,“无法解析方法 getMap()。我没有找到问题出在
我正在尝试让一个 map fragment 在我的应用程序中工作,但在尝试获取我的 GoogleMap 对象时仍然出现错误。 FragmentWithMap.java import android.M
将 Leaflet 添加到我的 AngularJS 应用程序后: 并进行设置: // Initialise the feature group to store editable layers va
在我的 Controller 中,@GetMapping 的以下使用有效: @GetMapping(value = "/new") public String newEssay(){ retu
我有以下 Controller : @RestController @RequestMapping("/api/{brand}") public class CarController { pri
我使用处理程序从支持 map fragment 中获取 GoogleMap。我真的迷路了,几天来一直在努力修复它。 map 加载正常,但我怀疑它返回的是空值。我知道可能有一些不好的做法,但这不是我的问
我在 Spring boot 中遇到了 @GetMapping 的问题。 关于我的 @GetMapping 函数,在从数据库中获取所有数据时,它没有在此模型上序列化我的 id: //User.java
在尝试创建 GoogleMap 对象(它返回 null)时,我在让 .getMap() 工作时遇到了很多麻烦,我环顾四周,发现人们也遇到了类似的问题,但无法从他们那里找到任何帮助。在当前的实现中,我如
在尝试了几乎所有方法之后,我似乎无法在不提取空对象引用的情况下获取 map 。我试图将一个 google mapfragment 膨胀成一个 fragment ,但是每次我这样做时我总是保留一个 ge
这个问题在这里已经有了答案: Cannot resolve method getMap() (2 个答案) 关闭 4 年前。 我有一个在手机上运行良好的 GPS 应用程序。但是,我看到有人在生产中出
我是一名优秀的程序员,十分优秀!