Извлеките метаданные из файла .dwg и визуализируйте его в угловом формате, также необходимо сгруппировать объекты - PullRequest
0 голосов
/ 21 октября 2019

Я загрузил файл .DWG в https://mygeodata.cloud/converter/ и получил файл JSON, который состоит из координат, поэтому с помощью API Карт Google рисует текст из геометрии точки GeoJSON ссылка, которую я отрисовал в Angular, но это не такпохож на файл DWG. Как я могу визуализировать изображение в формате DWG в угловом формате и есть ли способ сгруппировать объекты и Как я могу идентифицировать объект после того, как я отобразил их в угловом формате с помощью карт Google?

  1. Чтобы преобразовать DWGфайл в координатах GEOJSON (https://mygeodata.cloud/converter/).
  2. Может отображаться по этой ссылке (http://geojson.io/#map=2/51.5/11545.0) 3. Используется для рендеринга Geojson на картах Google ( API Карт Google рисует текст из GeoJSON)геометрия точки ).
var geocoder;
var map;

function initialize() {
  var mapOptions = {
    zoom: 14,
    center: new google.maps.LatLng(44.4878559081156, 9.76673954155489),
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };

  var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
  map.data.addListener('addfeature', function(evt) {
    if (evt.feature.getGeometry().getType() == "Point") {


      var coord = evt.feature.getGeometry().get();
      var labelText = evt.feature.getProperty("text");
      var labelFontSize = evt.feature.getProperty("Font") + "px";
      var labelAngle = evt.feature.getProperty("Angle");
      var labelDiv = document.createElement("div");
      labelDiv.innerHTML = labelText;
      labelDiv.setAttribute("id", "label");
      labelDiv.setAttribute("style", "-ms-transform: rotate(" + labelAngle + "deg); -webkit-transform: rotate(" + labelAngle + "deg);     transform: rotate(" + labelAngle + "deg);");

      var myOptions = {
        content: labelDiv,
        boxStyle: {
          border: "none",
          textAlign: "center",
          fontSize: labelFontSize,
          width: "50px"
        },
        disableAutoPan: true,
        pixelOffset: new google.maps.Size(-25, 0),
        position: coord,
        closeBoxURL: "",
        isHidden: false,
        pane: "mapPane",
        enableEventPropagation: true
      };

      var ibLabel = new InfoBox(myOptions);
      ibLabel.open(map);
    }
  });

  map.data.addGeoJson(geoJson);
  map.data.setMap(null);

}
google.maps.event.addDomListener(window, "load", initialize);

var geoJson = {
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "text": "Street Foo",
      "Font": "25",
      "Angle": "30.99999"
    },
    "geometry": {
      "type": "Point",
      "coordinates": [9.76673954155489, 44.4878559081156]
    }
  }]
};

КОД HTML:

<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script>
<script src="https://cdn.rawgit.com/googlemaps/v3-utility-library/master/infobox/src/infobox.js"></script>
<div id="map_canvas"></div>

1. Нужно получить изображение, подобное DWG (даже еслиего сторонняя библиотека, это нормально), а также необходимо идентифицировать объект после рендеринга в угловых + картах Google.

...