首页 > 解决方案 > 使用谷歌地图 api 密钥的 C# Rest 服务在本地工作,但不在服务器上

问题描述

所以我必须在 C# 中开发一个使用谷歌地图进行地理编码的休息网络服务。我的 IService.cs 基本上有一种方法:

findNearest(字符串地址,字符串地址);

这是在 Service1.cs 中实现的。我有一个谷歌地图密钥,它在 Service1.cs 的服务实现中编码。

当我在本地测试我的服务时,它工作正常。

但是,当我将它部署到我的学校服务器时,我得到一个 {Request Error},{服务器在处理请求时遇到错误。有关详细信息,请参阅服务器日志。}

我不知道发生了什么。我必须在 Visual Studio 中下载很多依赖项才能运行代码。我错过了什么?我该如何解决。我是否必须编辑一些 Visual Studio 生成的文件才能让我的项目在服务器上运行,或者它是谷歌地图密钥的问题以及我如何调用 API。

我不知道要开始解决这个问题。它必须是在我的学校服务器或谷歌地图 api 中具有权限的东西,以及我如何用我当前的密钥调用它。该方法的内容如下。

GMapProviders.GoogleMap.ApiKey = @"MYKEY";
GMaps.Instance.Mode = AccessMode.ServerAndCache;
double distance;
GeoCoderStatusCode statusCode;
var dest = GoogleMapProvider.Instance.GetPoint(destAddress, out statusCode);
var appLoc = GoogleMapProvider.Instance.GetPoint(addresses[0], out 
    statusCode);
var route = GoogleMapProvider.Instance.GetRoute((PointLatLng)dest, 
    (PointLatLng)appLoc, false, false, 14);
distance = route.Distance;
for (int i = 1; i < applicants.Length; i++){
//Internal Logic and series of Google Maps API calls like above
}

return nearest;

标签: c#restgoogle-maps

解决方案


推荐阅读