Форум программистов, компьютерный форум CyberForum.ru

MapView. API Key2. Карта не отображается - Android

Войти
Регистрация
Восстановить пароль
 
Agassy
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 5
22.10.2014, 16:52     MapView. API Key2. Карта не отображается #1
Здравия всяк сюда входящему!
Тема - Освоение картографии на 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, которая не требует ключа, может быть уже настал тот самый миг?
Миниатюры
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. Карта не отображается
Посмотрите здесь:

Динамическое задание ключа google-Api для MapView Android
Android Подскажите по MapView (событие загрузки карты)
Android Как получить экранные и геокоординаты по клику по MapView в yandex mapkit?
Android Карта на Canvas
Google Maps API v2. Не отображается карта Android
Android Google Maps не отображается карта после сборки apk
Собственная карта на Android Android
Android Маркер по центру MapView googleMap
Android Карта и маркеры
Android Ошибка minSDK(API 23, N preview) != deviceSDK(API 17)
MapView в CardView RecyclerAdapter Android
Android карта города

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

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

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

пс Уже пару недель брожу по интеу, в поисках...
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
23.10.2014, 12:39     MapView. API Key2. Карта не отображается #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).
Yandex
Объявления
23.10.2014, 12:39     MapView. API Key2. Карта не отображается
Ответ Создать тему
Опции темы

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