Использование Карт Google и карт Baidu в одном приложении.

5 ответов

Моим решением для этого было внедрение GM как обычно, однако, если пользователь установил Китай (через настройки), будут использоваться статические карты, НО статическая карта будет получена из Baidu вместо google.

StaticUrl = "http://api.map.baidu.com/staticimage?center=" + location.getLongitude() + "," + location.getLatitude() + "&width=" + width + "&height=" + width + "&zoom=15" + "&markers=" + location.getLongitude() + "," + location.getLatitude();

Итак, так я и решил. Надеюсь, кто-то найдет это полезным.

Кроме того, я обнаружил, что если вы используете http://ditu.google.cn в то время как в Китае, он работает.

При использовании онлайновых карт в Китае для вашего приложения, будь то Google Maps или Baidu, существует преобразование широты и долготы по юридическим причинам .

В спутниковом представлении на Картах Google используются координаты "Земля" (WGS-84). В картографическом представлении GMaps в Китае используются координаты "Марс" (GCJ-02), и есть код для преобразования между двумя . Карты Baidu используют координаты "Bearpaw" с другим смещением. API карты Baidu имеет демоверсию между координатами Google и ее собственными системами .

В Китае GPS, как и все, имеет дополнительный уровень сложности:)

Если вы создали это приложение, напишите подробности. Наличие английского интерфейса к картам Baidu было бы здорово.

PROBABLY немного опоздал на вечеринку, но я случайно наткнулся на что-то недавно, что могло бы помочь вам.

Я попробовал карты baidu, и было ужасно сложно настроить и ужасно использовать, поэтому я посмотрел вокруг, и внезапно карты google работали для меня без vpn!

Я понял, что старый сервер google china все еще активен, и если вы попытаетесь:

вы обнаружите, что создание iframe с использованием адреса google.cn работает!

Вы можете использовать как Карты Google, так и Карты Baidu бок о бок, но не забудьте конвертировать из координат WGS-84 (используемых большей частью мира) в координаты Baidu (BD-09, отличная от Китая GCJ-02). Вот какой код, который делает это на основе пример из API карт Baidu :

// Google coordinates var gPoint = new BMap.Point(121.4914, 31.2423); // lon, lat of the Bund Museum in Shanghai - https://www.google.com/maps/@31.2423,121.4914,19z // gPoint = new BMap.Point(-122.0851053, 37.4219593); // lon, lat of the Googleplex (no Baidu map data but zooms out in Mountain View) var labelOffset = { offset: new BMap.Size(20, -10) }; // Initialize map var map = new BMap.Map("allmap"); map.centerAndZoom(gPoint, 15); map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT})); // add scale map.addControl(new BMap.NavigationControl()); map.addControl(new BMap.MapTypeControl()); // map type control: street/satellite/2.5D map.enableScrollWheelZoom(); // mouse wheel scroll is disabled by default // Add Google marker and label var markerG = new BMap.Marker(gPoint); map.addOverlay(markerG); markerG.setLabel(new BMap.Label("Google coordinates marker appears
at incorrect location on Baidu Map", labelOffset)); // Coordinate conversion ... GCJ-02 coordinates ... Baidu coordinates BMap.Convertor.translate(gPoint, 2, function (point) { var marker = new BMap.Marker(point); map.addOverlay(marker); marker.setLabel(new BMap.Label("Converted to Baidu coordinates:
" + point.lng + ", " + point.lat + "
(note the offset of " + (map.getDistance(gPoint, point)).toFixed(2) + " meters)", labelOffset)); map.addOverlay(new BMap.Polyline()); // draw a line between points }); body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}

Если приведенный выше фрагмент не работает из-за сценариев сценариев StackOverflow, попробуйте JSbin демо Google → Преобразование координат Baidu вместо этого.

Если вы должны выполнить преобразование в автономном режиме, проверьте проект

Самая популярная и самая подробная онлайн карта в Китае — это Baidu. В прошлом посте я рассказала об

AutoNavi достаточно подробна, но она не отображается маршруты общественного транспорта. Поэтому для просмотра маршрутов общественного транспорта стоит обратиться к картам baidu. Сегодня я расскажу как пользоваться картами байду и как узнать мрашруты общественного транспорта (автобусов, троллейбусов) в Китае.

Онлайн карты Байду доступны по ссылке .

Также можно скачать карты в AppStore или GooglePlay. Достаточно в поиске вбить Map Baidu.

К сожалению, карты Байду доступны только на китайском языке, но с ними можно справиться даже без понимания китайского языка. Как пользоваться картами я расскажу на примере онлайн карты Baidu. Работа в приложениях не сильно отличается.

Как построить маршрут в картах Baidu

Для начала открываем карту байду и находим нужный нам город. Название города можно вбить на английском языке, но вот выбирать придётся уже из предложенных вариантов на китайском языке. Предположим, сейчас на интересует Шанхай.

Цветные линии — это линии метрополитена. Когда видишь схему метро в Китае первый раз станвоится страшно:) Но не всё так плохо:) Все налписи и объявления в метро Китая дублируются на английском языке, поэтому не стоит бояться.

Находим начальную точку нашего маршрута и кликаем правой кнопкой мыши, по клику открывается меню, нам необходимо выбрать второй пнукт сверху. Если начальная точка нашего маршрута — наше место положение, то сначала нажимаем кнопку «с прицелом» в правом нижнем углу экрана, для того. чтобы на карте появилась наша точка и после этого выбираем данную точку как стратовую

После того, как мы выбрали начальную точку маршрута, на карте пояляется отвметка в виде зелёной метки — обозначение нашего старта и слева страницы появляется меню.

Далее нам необходимо указать конечную точку нашего маршрута. можно быить название, или найти на карте. если вы ищите точку на карте, то вам необходимо кликнуть на точку финиша правой кнопкой мыши и открыть всплывающее меню, после чего необходимо выбрать уже четвёртый пункт меню (третий будет недоступен).

В реузльтате описанных выше действий, карта строит нам маршрут:

Обратим внимание на левое меню. Верхнее надписи с картинками обозначают виды транспорта: Общественный транспорт — картинка автобуса, машина, пешком или на велосипеде.

В строке с 4мя столбцами можно выбрать оптимальнойсть маршрута: По затраченному времени, минимум пересадок или минимум пройти пешком.

Так как у меня выбрано ночное время, то в строке над расписанием по умолчанию указано, что показаны только активные в это время линии.

Переходим к самому расписанию. Карта предлагает мне 2 автобусных маршрута. По клику на строку с маршрутом откроется подробное описание.

Первая строка — это номер автобуса (в нашем варианте просто один номер без пересадок)

Вторая строка: Время (40 минут), расстояник (5,1км), расстояние пешком (910 метров).

Далее в раскрывашке мы видим. что необходимо пройти 270метров до оставноки, потом сесть на 320 автобус. В скобках обозначено время в которое ходит маршрут. Напомню. мы сейчас смотрим ночное время и время работы нашего маршрута 00:10-04:20.

Чуть справа мы видим количество остановок, которые необходимо проехать — их 7. Потом нам останется пройти ещё 640 метров.

Если увеличить карту. то у нас чётко отразится маршрут. Синим — обзначена поездка на автобусе, зелёным — пешком, а стрелочки помогут не заблудиться.

Нажав на значки камер в левом меню (Справа от ключевых точек в меню есть такие кружочки. это значки камер), мы увидим как эти места выглядят в реальности.

Чтобы вернуться на карту, необходимо на знак стредочки в левом верхнем меню.

Отлично, теперь вы можете добраться в любую точку города на общественном транспорте:)

Не будем сусоли рассусоливать и поговорим сразу про Байду: что, зачем и как?

Карты Байду 百度地图 являются сервисом поисковика Baidu 百度, это такой «китайский Гугл». Поскольку для Китая эти карты «родные», то работают без осечек и тормозов, в отличие от практически любых других оффлайн или онлайн карт. Не требуют хорошего интернета, вполне себе работают на , медленнее интернета сейчас почти не бывает. Позволяют загружать и хранить уйму карт оффлайн, мгновенно взлетающих и показывающих все, что нужно.

Вы хочете дегтя? Он есть у меня, целая бочка: весь интерфейс и сами карты , то есть, абсолютно бесполезен для туриста, не знающего язык. Абсолютно, да не совсем.

В этой статье я помогу вам немного разобраться с интерфейсом и расскажу, что полезного можно получить, даже не понимая ни одного слова.

Итак, начнем с того, зачем вам китайская карта? Элементарно, Уатысыны!
Когда вы едете в Китай по или сами, вы на карте отмечаете себе достопримечательности и другие полезные объекты, чтобы на месте добраться до них без проблем. Обычно эти точки в пределах пешей досягаемости, а как добраться — вы уже знаете.

«Байда»(так «Байду» в Китае нежно называют русскоязычные) и точку покажет, и маршрут пеший. Идите по стрелочке, доберетесь без проблем.

Ситуация вторая: вы куда-то утопали и как теперь возвращаться в хостел? Чтобы такой ситуации не было, перед выходом включаете карту, помечаете звездочкой свое жилье — и угуляйтесь, домой попадете всегда.

Надеюсь, что это всем понятно и теперь разберемся, как же они работают, эти карты. Этот пост я написал под старые карты, потом их обновили, пришлось кое-что переделывать, но сейчас up to date. Если что-то непонятно или не выходит — отметьтесь в комментариях, я починю/объясню, если релевантно.

Самое первое, что нужно сделать — это зарегистрировать аккаунт в Байду. Это как в Гугле, если у вас не будет счета, то многие функции гуглкарт будут вам недоступны, так что все честно.

Есть два способа, сейчас работает первый, второй работал раньше, но оставлю его на всякий случай.

Способо номер один: Подключение через личный номер телефона

* Операцию по регистрации, как и любую другую, необязательно делать с мобильного, можно провести всю подготовку на стационарном компьютере или лэптопе и уже в конце залогиниться на мобильном.

2. Поднявшуюся страницу можете перевести через google translate, будет понятнее. В красных овалах выбираете код своей страны, например, Россия (+7) и свой номер телефона. В зеленом овале вводите пароль(не абы что, он нужен!) и потом жмете на серую кнопку справа от синего овала. Вам на телефон придет смс с кодом (иногда не сразу, а через несколько часов), этот код вбиваете в синий овал и нажимаете синюю кнопку.

Все, вы в системе! Это домашняя страница «Baidu Disk», вам нужны карты, так что просто вбивайте http://map.baidu.com .

2. Если вас случайно выбросит из системы, или вам нужно залогиниться с другого устройства (мобильный, например), идете по ссылке http://pan.baidu.com/

3. В открывшемся окне нажимаете на линк «международные номера»

3. В открывшемся окне в красном овале вводите свой номер телефона с кодом, в синем овале — пароль. Жмете на синюю кнопку и авторизуетесь.

Скриншоты для мобильных устройств:


После этого проблем возникнуть не должно, можно работать.

Способо номер два: Подключение через аккаунт и чужой(или свой) номер

1.Идете по ссылке: http://motu.baidu.com/register.html
2. Регистрируетесь, получаете письмо на почту, активируете аккаунт. Именно поэтому не давайте левую почту, куда не можете зайти. Сейчас Байду после верификации имейла еще просят верификацию по смс, как победить этих зануд:
Идете на сайт https://smsreceivefree.com/ , кликаете по американскому номеру, скопируйте его без кода страны и вставьте в поле номера телефона на странице верификации, добавив ноль: вместо +15646.. — 05646…
Не забудьте выбрать код страны из списка слева. Вам нужен 美国 или 美家 c кодом 001.
Нажимаете кнопочку получить код, на странице с бесплатными смсами приходит смс на китайском с кодом, копируете на страницу верификации — вуаля! 🙂

*Можно сделать ту же процедуру со своим номером телефона.

Красная стрелка — это код США, красный овал — вносите номер телефона, который нашли на вышеуказанном сайте, в зеленый овал вписываете номер из пришедшего смс.Серая кнопка — «получить смс», большая синяя — «подтвердить верификацию».

Так выглядит страница получения смс после запроса (нажатие на серую кнопку). Смотрите, как нужно выделять номер и копировать в большой красный овал выше. В маленьком красном овале тот самый код подтверждения, который надо внести в зеленый овал выше.

3. Скачиваете аппликацию в эппсторе или в гуглплей. Вбиваете в поиск 白度地图 — и качаете вот это:

Если на экране в дальнейшем появится такая или подобная штука, то это значит, что программа хочет обновить себя или оффлайн карты. В данном примере — оффлайн карты. Если не хочу, то левая кнопка «потом». Иногда в новой версии кнопка появляется, жырная такая, значит «канешна хачю», а под ней — «в курсе, потом». Ну или можете скачать, вдруг они что-нибудь интересное дадут. Если хотите скачать — правая кнопка и синяя кнопка соответственно.


Нажали, карты открылись. Если вы не в Китае, то все выглядит один в один как на левой картинке. А все потому, что Байду, в отличие от Гугла, делают карты только для своих китайских социалистических нужд.
Поэтому уменьшаем-уменьшаем, находим Китай и уже на нем увеличиваем карту. Если вы в Китае с интернетом, он сам вас найдет. И теперь начнем разбираться с кнопками.

Вот как выглядит карта центра Пекина, например. (на старой версии внизу на панели есть гаечный ключ, в новой нет, но он нам и не понадобится, чай, не краны винтить будем).


Все страшно и на китайском, но! Если вы выставили точки на гуглкарте, все что надо сделать — найти этот же кусок на китайской и отметить.

К примеру, вам нужна станция метро Tiananmen East. Находите ее в гугле, а потом и на китайской.


Переходим к вводным процедурам. Поза «звездочка» или как сохранить точку на карте .

Делай раз, делай два:


Звездочка в разных версиях может быть сверху или снизу, но она будет.

А теперь нам пригодится наш логин и пароль из первых шагов. При нажатии на звездочку в первый раз система не знает, для какого именно пользователя сохранить ваши локации, поэтому предлагает залогиниться. Поле для заполнения — только для китайского номера, поэтому вам, скорее всего, не подойдет, или подойдет если вы использовали телефонный номер для подключения. Зато подойдет синяя ссылка ниже: «зайти с логином и паролем Байду» — 百度帐号登录, она может быть в другом местне на экране, ищите. Жмем на нее. После этого появится новое окно(правый скриншот). В первом поле вводим логин, во втором — пароль и жмем синюю кнопку, которая активируется после заполнения полей.


После этого система узнает пользователя и больше не будет морочить ему голову. А звездочка теперь помечена. Идем < назад < назад, и вуаля:


После того, как вы натыкете пару десятков звездочек, вы совершенно перестанете понимать где что, поэтому научимся сразу называть их человеческими именами .

Нажимаем кнопку «моё»(фигурка человечка, может быть в другом порядке) и затем кнопку со звездочками:


Самая верхняя звездочка — последняя которую вы добавили. Долгое нажатие на нее выдает меню, где вы жмете первую кнопку:


Количество символов ограничено, после записи надо сохраниться — правая кнопка.


Идем назад в карту и видим, что наша звездочка теперь на русском. Сейчас в новой версии баг, и название соскакивает обратно на китайский, но, надеюсь, что его починят и все будет как надо.

Теперь как туда дойти . Это просто: нажимаете на кривую стрелочку справа внизу из затем выбираете фигуру человечка. Можно и общественный транспорт, там менее тривиально, но поиграйте. В Пекине и Шанхае хорошо показывает. Первая строчка со стрелочкой — это «с места, где я нахожусь». Если вам нужно проверить из другого места — жмете на эту надпись, увидите кнопку «звездочка», тыкаете в нее и выбираете нужное место из списка сохраненных локаций. Ну и в конце синюю кнопку поиска (справа вверху).


Иногда никакого маршрута не строится, а выдает сообщение, что «не удалось построить маршрут». Или действительно нет пути, или глючит, или нет интернета. Но в больших городах, опять же, дает. Слева не нашел, а справа — сообразил. Внизу выдает: первое — время пешком, второе — километраж, третье — сколько выйдет на такси(в новой версии нет, но, может, добавят), выдает достаточно точно, если таксист будет ехать именно этой дорогой. 🙂


Теперь как сохранять свое текущее местоположение. Почти то же самое:

Если сразу не показывает, где вы на карте, жмете компас и, когда он определит местоположение, нашу знакомую кнопку меню. В новом окне — наша любимая звездочка.