У одного из наших клиентов недавно возникла потребность показать широту/долготу на карте в форме объекта (это был не адрес, а нефтяная вышка в море).

В качестве отправной точки я использовал следующий пост Элдерора на форумах Microsoft:



Во-первых, вам понадобится ключ Google Maps API, чтобы получить его, следуйте этим инструкциям:



После того, как у вас есть ключ API, на объекте, на котором вы хотите показать карту с маркером, создайте 2 новых поля типа «Десятичное число» с точностью до 6 пунктов и поместите их в форму.

Затем создайте веб-ресурс HTML со следующим содержимым:

Примечание. Необходимо заменить следующие значения:

ВАШ-КЛЮЧ: замените его своим ключом API.

jn_latitude: замените это именем поля, которое содержит значение вашей широты.

jn_longitude: замените это на имя поля, которое содержит ваше значение долготы.

<html><head>
  <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
  <meta charset="utf-8">
  <style>
    html, body, #map-canvas {
      height: 100%;
      margin: 0px;
      padding: 0px
    }
  </style>
  <script src="https://maps.googleapis.com/maps/api/js?key=YOUR-KEY"></script>
 <meta><meta><meta></head>
<body style="word-wrap: break-word;">
  <div id="map-canvas"></div>
  <script>
   var map;
   function initialize() {
    // Retrieve the values from Dynamics CRM
 var add1Lat = window.parent.Xrm.Page.getAttribute("jn_latitude").getValue();
    var add1Long = window.parent.Xrm.Page.getAttribute("jn_longitude").getValue();
    var add1Name = 'Position';
    // Calculate the values and set options
 var myLatlng = new google.maps.LatLng(add1Lat, add1Long);
    var mapOptions = {
     zoom: 15,
     center: myLatlng
    }
    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    var marker = new google.maps.Marker({
     position: myLatlng,
     map: map,
     title: add1Name
    });
   }
   // Load the map
   google.maps.event.addDomListener(window, 'load', initialize);
  </script>
 
</body></html>

Наконец, добавьте вновь созданный веб-ресурс в форму и опубликуйте изменения.

Откройте запись указанного выше типа и установите значения в полях широты и долготы и обновите страницу.