Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Agassy
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 5
#1

MapView. API Key2. Карта не отображается - Программирование Android

22.10.2014, 16:52. Просмотров 714. Ответов 2
Метки нет (Все метки)

Здравия всяк сюда входящему!
Тема - Освоение картографии на Android. Reverse Geocding.

IDE - Eclipse Version: 4.2.1.v20130118-173121
ADT - ...x86-20140702
Cellurlar TelePhone - Samsung 7652

Имеем следующий код:

-main.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <TextView
    android:id="@+id/myLocationText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
  />
  <com.google.android.maps.MapView
    android:id="@+id/myMapView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:enabled="true"
    android:clickable="true"
    android:apiKey="AIza xxx RBS4"
  />
- Manifest.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.paad.whereami">
  <application 
    android:icon="@drawable/icon">
    <uses-library android:name="com.google.android.maps"/>
    <activity 
      android:name=".WhereAmI"
      android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
</manifest>
- Activity
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package com.paad.whereami;
 
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.RectF;
import android.location.Location;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;
 
public class MyPositionOverlay extends Overlay {
 
  private final int mRadius = 5;
 
  Location location;
 
  public Location getLocation() {
    return location;
  }
  public void setLocation(Location location) {
    this.location = location;
  }
    
  @Override
  public boolean onTap(GeoPoint point, MapView mapView) {
    return false;
  }
  
  @Override
  public void draw(Canvas canvas, MapView mapView, boolean shadow) {
    Projection projection = mapView.getProjection();
 
    if (shadow == false) {
      // Get the current location    
      Double latitude = location.getLatitude()*1E6;
      Double longitude = location.getLongitude()*1E6;
      GeoPoint geoPoint; 
      geoPoint = new 
        GeoPoint(latitude.intValue(),longitude.intValue());
 
      // Convert the location to screen pixels     
      Point point = new Point();
      projection.toPixels(geoPoint, point);
 
      RectF oval = new RectF(point.x - mRadius, point.y - mRadius, 
                             point.x + mRadius, point.y + mRadius);
 
      // Setup the paint
      Paint paint = new Paint();
      paint.setARGB(250, 255, 255, 255);
      paint.setAntiAlias(true);
      paint.setFakeBoldText(true);
 
      Paint backPaint = new Paint();
      backPaint.setARGB(175, 50, 50, 50);
      backPaint.setAntiAlias(true);
 
      RectF backRect = new RectF(point.x + 2 + mRadius, 
                                 point.y - 3*mRadius,
                                 point.x + 65, point.y + mRadius);
 
      // Draw the marker    
      canvas.drawOval(oval, paint);
      canvas.drawRoundRect(backRect, 5, 5, backPaint);
      canvas.drawText("Here I Am", 
                      point.x + 2*mRadius, point.y, 
                      paint);
    }
    super.draw(canvas, mapView, shadow);
  }
Ключ, выпущен на дебажном сертификате:


Включен только! - Google Maps Android API v2.

В итоге, координаты и адрес определяются и отображаются верно!
Делаю вывод, что google-play-services установлен правильно и работает, связь с интернетом есть!

Но карта не отображается!

Помогите, пожалуйста понять, что делаю не так?

Заранее благодарен!

пс. Мелькала инфа, что Google, переходит на API v3, которая не требует ключа, может быть уже настал тот самый миг?
0
Миниатюры
MapView. API Key2. Карта не отображается   MapView. API Key2. Карта не отображается   MapView. API Key2. Карта не отображается  

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2014, 16:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос MapView. API Key2. Карта не отображается (Программирование Android):

Google Maps API v2. Не отображается карта - Программирование Android
Доброго времени суток. На днях решил поработать с Google API Maps. И столкнулся с такой проблемой. Создал приложение, создал API Key...

Динамическое задание ключа google-Api для MapView - Программирование Android
Всем привет. Создаю MapView при помощи xml разметки. Там в атрибутах указываю ключ для доступа к апи. А можно и как-то задавать этот...

Google Maps не отображается карта после сборки apk - Программирование Android
Добрый день. Помогите пожалуйста советом. Написал приложение с использованием карт Google собираю/тестирую сразу на телефоне, создаю apk...

MapView в CardView RecyclerAdapter - Программирование Android
Добрый день! Необходимо отобразить карту Google в CardView. Отображается только сетка, маркер и кнопки масштаба. Можно нажать только на...

Маркер по центру MapView googleMap - Программирование Android
В некоторых приложениях есть возможность на карте указать свое местоположение. там реализовано так: 1) в центре карты расположен не...

Подскажите по MapView (событие загрузки карты) - Программирование Android
Здравствуйте! Может тут кто знает, как перехватить событие загрузки карты? Т.е. необходимо отловить момент когда вся карта ,выводимая на...

2
Agassy
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 5
23.10.2014, 11:23  [ТС] #2
Всем привет!
Сегодня выпустил, подписал и пр., ключ отличный от дебажного, а именно release...
Картина печальна, т.е. прежняя!
Карта не отображается

Ни кто, ни кто не сталкивался, с подобным???

пс Уже пару недель брожу по интеу, в поисках...
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
23.10.2014, 12:39 #3
Agassy, здравствуй!
Недавно сталкивался с такой проблемой, тоже долго мучался, но решил её коллега, поэтому решение не подскажу.
Мне кажется, у вас используется Map v1, потому что вы используете MapView (в XML). Более правильно было бы использовать так:
XML
1
2
3
4
5
        <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
или так:
XML
1
2
3
4
5
        <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.MapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
После этого надо будет поискать по указанному коду решение на stackoverflow и других сайтах.
Дальше во время запуска программы карта отображаться не будет. Требуется подписывать release-ключом и делать ещё как-то шаманство (создавать пару ключей командной стройкой), а затем выпускать подписанный APK и устанавливать на устройство (например, через команду adb install путь_к_файлу.apk).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2014, 12:39
Привет! Вот еще темы с ответами:

Как получить экранные и геокоординаты по клику по MapView в yandex mapkit? - Программирование Android
Как получить экранные и геокоординаты по клику по MapView в yandex mapkit? Пробовал повесить OnTouchListener на mapview, не работает

Яндекс Карты API Не отображается карта - JavaScript
Почему не работает в любом браузере отображается по кодам сайта http://api.yandex.ru/maps/doc/constructor/concepts/About.xml создаю...

Не отображается яндекс карта! - JavaScript
Здравствуйте, проблема в следующем, на сайте при нажатии на кнопку отображались яндекс карты АПИ 1.0 в окне, сейчас хочу поставить АПИ 2.Х,...

Не отображается Яндекс Карта на сайте - JavaScript
День добрый. Возникла проблема при добавлении на сайт яндекс.карты. Прописал скрипт, сама карта появилась, но на ней ничего не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru