Задать вопрос

Нужно сделать небольшое подобие карты,как масштабировать отдельный слой?

99qQWB9rqxA.jpg
У меня есть карта, элементы на ней мне нужно сделать интерактивными.Когда я нажимаю на определенное здание я вижу информацию о нем и здание выделяется цветом, сейчас получается вот так.
yqJBeUmhyO0.jpg
Выделение идет путем замены текстуры карты.

Как карта узнает куда я нажал?
Я сравниваю процентное соотношение нажатия на экран.
С соотношением этого сарая которое было задано ранее.
Решение наверное очень го*нокодское но сделать нужно было быстро и в голову ничего не приходило, извиняюсь.

У меня всего два вопроса:
1. Могу ли я и если могу то как, выделить здание как на скриншоте снизу.
2. В интернетах не нашел ответа на вопрос масштабирования и ротейта слоя (не картинки) а именно слоя как в Google Maps.
Помогите с этим пожалуйста, это очень важно для меня.

//Коричневое поле
            for(int a = 58; a<=64; a ++){
            	if((int)xPercentage == a ){
            	for(int i = 48; i<=62; i ++){
                	if((int)yPercentage == i ){
                		Drawable bitmap = getResources().getDrawable(R.drawable.map_three);
                        iv.setImageDrawable(bitmap);
                		new AlertDialog.Builder(MainActivity.this).setMessage("Коричневое поле.").setPositiveButton("OK", new DialogInterface.OnClickListener()
                        {
                          public void onClick(DialogInterface paramDialogInterface, int paramInt)
                          {
                        	  paramDialogInterface.dismiss();
                        	  Drawable bitmap = getResources().getDrawable(R.drawable.map);
                              iv.setImageDrawable(bitmap);
                           
                          }
                        }).show();
                	}
                }	
            }
        }

Oh-pfbDTFoM.jpg
  • Вопрос задан
  • 2605 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@boomwest
Для того, чтобы закрасить регион (здание) в
Google maps api есть метод addPolygon(PolygonOptions options)). Он зумится, ротейтится.
Думаю что на полигон можно навесить onclicklistener.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы