我在收到Google方向API的回复后试图在MKMapView上绘制路线。我正在尝试这个,因为苹果服务器没有返回印度地点的方向结果,我发现有人在堆栈溢出面临同样的问题。我试图这样做
NSString *url = @"https://maps.googleapis.com/maps/api/directions/json?origin=Gurgaon&destination=Noida&key=XXXXXXXXXXXXX&sensor=true";
但我的回答低于回应
{
"error_message" = "This IP, site or mobile application is not authorized to use this API key.";
routes = (
);
status = "REQUEST_DENIED";
}
我仔细检查了我正在使用的捆绑ID是否与我在创建iOS API的iOS Key时提供的捆绑ID相匹配。任何人都知道我错过了什么。
答案 0 :(得分:1)
似乎Google Directions API
和Google Places API
不支持iOS或Android限制的键。我已经在Google Places API
的“常见问题解答”中找到了这一点:
不支持具有Android或iOS限制的API密钥。请使用通用(不受限制的)API密钥,或具有浏览器或服务器限制的密钥。
https://developers.google.com/places/web-service/faq
我在Google Directions API文档中找不到相同的信息,但是我想它与Google Places API具有相同的限制。
答案 1 :(得分:0)
我现在正在Android方面解决这个问题。您的API密钥与您注册的软件包不匹配。您是否可能尝试使用旧的API密钥?
编辑:好的,我在以下的帮助下弄明白了:
Maps API keys for geocoding not working anymore?
首先,像在Deverloper控制台中一样注册新的iOS密钥,但不要在框中输入任何内容。
如果这不起作用,您将收到类似"This API key has expired"
的内容。
然后尝试删除URI中的&API_KEY=klajsdblkajbsfkjvaskjghan;nbfa
参数。
似乎在使用Android与Google Maps API v3进行通话时,您不需要API密钥,因此请省略该部分。
免责声明:这至少适用于我正在运行的JUnit测试案例,我还没有将其投入生产,但我会更新结果。
祝你好运!