在Azure移动服务NodeJS中使用google.maps

时间:2016-09-22 07:56:23

标签: node.js google-maps azure azure-mobile-services

我正在使用Azure移动服务 - NodeJS后端 我想检查一个多边形地图,如果它包含一个点。 如何使用谷歌地图库呢?或者没办法?

- 谢谢 -

    var customerLatLng = new google.maps.LatLng(lat, lng);
    var area = serviceParsed[0];
    /*example: [{"type":"POLYGON","id":null,"geometry":[[[21.070767653166016,105.80863952636719],[21.01180841534327,105.77705383300781],[21.031036817912042,105.87455749511719]]]}] */
    var triangleCoords = [];
    if (area.type == "POLYGON") {
      for (var j = 0; j < area.geometry[0].length; j++) {
        triangleCoords.push({
          "lat": area.geometry[0][j][0],
          "lng": area.geometry[0][j][1]
        });
      };
    } else { }
    var bermudaTriangle = new google.maps.Polygon({ paths: triangleCoords });
    if (google.maps.geometry.poly.containsLocation(customerLatLng, bermudaTriangle)) {
      filteredResults.push(item.Id);
    }

1 个答案:

答案 0 :(得分:0)

我已经研究了有关Azure移动服务的更多信息。我们可以将其他nodejs模块安装到移动服务的package.json中。 所以,这是步骤:

  1. 设置移动服务的源代码管理(例如:GIT)
  2. 将API代码克隆到客户端文件夹(使用SourceTree)
  3. 安装模块需要使用
  4. 将package.json提交到服务器
  5. 例如:  1. npm安装geolib  2.第3步之后的package.json文件

    "engines": {
        "node": ">= 0.8.19"
      },
      "dependencies": {
        "geolib": "^2.0.21",
        "point-in-polygon": "^1.0.1"
      },
    
    1. 提交package.json

    2. 在api文件中:

      var geolib = required(“geolib”); //在https://www.npmjs.com/package/geolib

    3. 中使用