#android
#Android
Вопрос:
я создал контроллер масштабирования панели поиска для моего просмотра карты следующим образом
myZoomBar = (SeekBar)findViewById(R.id.zoombar);
SetZoomLevel();
myZoomBar.setOnSeekBarChangeListener(myZoomBarOnSeekBarChangeListener);
и
private SeekBar.OnSeekBarChangeListener myZoomBarOnSeekBarChangeListener =
new SeekBar.OnSeekBarChangeListener(){
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
SetZoomLevel();
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
};
private void SetZoomLevel()
{
int myZoomLevel = myZoomBar.getProgress() 1;
mc.setZoom(myZoomLevel);
Toast.makeText(this,
"Zoom Level : " String.valueOf(myZoomLevel),
Toast.LENGTH_LONG).show();
};
мой вопрос в том, как я могу установить уровень просмотра по умолчанию на 15? Как и сейчас, при открытии карты она полностью уменьшена.
Комментарии:
1. вы спрашиваете, как установить масштаб на 15 уровень при первоначальном отображении карты
2. да, поэтому, когда вы открываете карту, масштаб устанавливается на 15, и при необходимости оттуда можно перемещать ползунок.
Ответ №1:
попробуйте приведенный ниже код
MaView mapView = (MapView)findViewById(R.id.my_map);
MapController mapController = mapView.getController();
mapController.setZoom(15);
Комментарии:
1. вы уверены, что ваш mapcontroller извлекается из Mapview
2. если я сделаю это
p = new GeoPoint((int) (latitude * 1000000), (int) (longitude * 1000000)); mc = mapView.getController(); mc.setCenter(p); myZoomBar = (SeekBar)findViewById(R.id.zoombar); SetZoomLevel(); myZoomBar.setOnSeekBarChangeListener(myZoomBarOnSeekBarChangeListener); mc.setZoom(15);
, для просмотра будет установлено значение 15, но на панели поиска по-прежнему отображается 0. есть ли способ установить его также на 15?3. в чем ваша проблема с масштабированием mapview или позиции seekbar, если это возможно позже, опубликуйте свой xml для seekbar
4. Спасибо за подсказку, добавленную
android:progress="15"
в XML, и все работает так, как мне нужно.
Ответ №2:
Используйте метод setZoom () класса MapController в вашем MapActivity.
Комментарии:
1. если я добавлю
mc.setZoom(15);
, это ничего не сделает