Похоже, вы ищете пользовательский интерфейс Chrome, как приложение Google Maps для отображения направлений. Google Maps SDK для iOS раскроет вам карту, но вы несете ответственность за дополнительную навигацию Chrome.
Вы можете использовать Google Directions API для запроса направлений, а затем использовать закодированный путь, возвращаемый службой, чтобы нарисовать GMSPolyline , используя GMSPath pathFromEncodedPath: метод.
Одним из простых способов вызова C ++ является создание сборки оболочки в C ++ / CLI. В C ++ / CLI вы можете вызывать неуправляемый код, как если бы вы писали собственный код, но вы можете вызывать код C ++ / CLI из C #, как если бы он был написан на C #. Язык в основном был разработан с возможностью взаимодействия с существующими библиотеками в качестве его «приложения-убийцы».
Например - скомпилируйте это с помощью переключателя / clr
#include "NativeType.h"
public ref class ManagedType
{
NativeType* NativePtr;
public:
ManagedType() : NativePtr(new NativeType()) {}
~ManagedType() { delete NativePtr; }
void ManagedMethod()
{ NativePtr->NativeMethod(); }
};
Затем в C # добавьте ссылку на свою сборку ManagedType и используйте ее так :
ManagedType mt = new ManagedType();
mt.ManagedMethod();
Посмотрите это сообщение в блоге , чтобы получить более подробный пример.
P / Invoke - хорошая технология, и она работает довольно хорошо, за исключением проблем с загрузкой целевого файла DLL. Мы обнаружили, что лучший способ сделать это - создать статическую библиотеку собственных функций и связать ее с проектом Managed C ++ (или C ++ / CLI), который от нее зависит.
Я не знаком с упомянутой вами библиотекой, но в целом есть несколько способов сделать это:
Да, он называется P / Invoke .
Вот отличный ресурс для его использования с Win32 API:
Конечно. Эта статья является хорошим примером того, что вы можете сделать, чтобы начать работу над этим.
Мы делаем это с C # на наших устройствах Windows Mobile, используя P / Invoke .
Используемая для этого технология называется P / Invoke ; вы можете искать статьи по этой теме. Обратите внимание, что это для вызова C из C #, а не для C ++. Поэтому вам нужно обернуть свой код C ++ в оболочку C, которую экспортирует ваша DLL.