如何在 android 工作室中使用我的 OWN BUTTON 缩放 google 地图?
How to zoom google map using my OWN BUTTON in android studio?
我目前正在使用 google 地图片段创建一个简单的 android 应用程序。
我知道它的默认按钮(缩放、缩小、当前位置和指南针)的强大功能,但我想创建我的 OWN ZOOM BUTTON
。问题是我似乎找不到最能解释我的问题的简单教程,另一个问题是我只有 有限的时间来使用互联网连接,所以我没有足够的时间研究。
您真的应该阅读 this 文档。如果您的连接时间有限,您可以考虑使用 SeekBar
进行缩放。很简单。
SeekBar seekBar = new SeekBar(this);
seekBar.setMax((int) (mapFragment.getMap().getMaxZoomLevel()));
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
mapFragment.getMap().animateCamera(CameraUpdateFactory.zoomTo(progress));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
将以下内容调整到您的点击功能中。由于您尚未发布任何地图代码,因此可能需要进行一些小的更改。
数字 15 是缩放级别。假设您有一个加号和减号按钮,您需要将一个整数值加 1 或减 1 以跟踪缩放级别。您还必须使用 if 语句检查最大和最小缩放级别,因为地图只能放大或缩小到一定数量。
lat, lng
是你想缩放到的经纬度
LatLng pos = new LatLng(lat, lng);
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(pos, 15);
mMap.moveCamera(update);
使用
有一种更简单的方法
map.animateCamera(CameraUpdateFactory.zoomIn());
map.animateCamera(CameraUpdateFactory.zoomOut());
提高 1 级
感谢各位大侠的回复。现在我找到了使用按钮缩放 google 地图的方法。我只是将 setOnClickListener 添加到按钮并使用动画相机...
代码如下:
// ---CODE FOR ZOOM IN--- //
Button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
mMap.animateCamera(CameraUpdateFactory.zoomIn());
}
});
我只需要将 mMap.animateCamera(CameraUpdateFactory.zoomIn
()); 更改为 mMap.animateCamera(CameraUpdateFactory .zoomOut
()); 用于缩小...
谢谢大家!希望这对以后的问题有所帮助!
编码愉快!
^_^
我目前正在使用 google 地图片段创建一个简单的 android 应用程序。
我知道它的默认按钮(缩放、缩小、当前位置和指南针)的强大功能,但我想创建我的 OWN ZOOM BUTTON
。问题是我似乎找不到最能解释我的问题的简单教程,另一个问题是我只有 有限的时间来使用互联网连接,所以我没有足够的时间研究。
您真的应该阅读 this 文档。如果您的连接时间有限,您可以考虑使用 SeekBar
进行缩放。很简单。
SeekBar seekBar = new SeekBar(this);
seekBar.setMax((int) (mapFragment.getMap().getMaxZoomLevel()));
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
mapFragment.getMap().animateCamera(CameraUpdateFactory.zoomTo(progress));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
将以下内容调整到您的点击功能中。由于您尚未发布任何地图代码,因此可能需要进行一些小的更改。
数字 15 是缩放级别。假设您有一个加号和减号按钮,您需要将一个整数值加 1 或减 1 以跟踪缩放级别。您还必须使用 if 语句检查最大和最小缩放级别,因为地图只能放大或缩小到一定数量。
lat, lng
是你想缩放到的经纬度
LatLng pos = new LatLng(lat, lng);
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(pos, 15);
mMap.moveCamera(update);
使用
有一种更简单的方法map.animateCamera(CameraUpdateFactory.zoomIn());
map.animateCamera(CameraUpdateFactory.zoomOut());
提高 1 级
感谢各位大侠的回复。现在我找到了使用按钮缩放 google 地图的方法。我只是将 setOnClickListener 添加到按钮并使用动画相机...
代码如下:
// ---CODE FOR ZOOM IN--- //
Button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
mMap.animateCamera(CameraUpdateFactory.zoomIn());
}
});
我只需要将 mMap.animateCamera(CameraUpdateFactory.zoomIn
()); 更改为 mMap.animateCamera(CameraUpdateFactory .zoomOut
()); 用于缩小...
谢谢大家!希望这对以后的问题有所帮助!
编码愉快!
^_^