ASP google map добавить маркер при нажатии кнопки - PullRequest
0 голосов
/ 16 июля 2011

У меня есть вид сетки asp со столбцом поля кнопки для этого нажатия кнопки. Мне нужно добавить точку на карте Google, взяв значения строк по нажатию (долгота и широта). Я написал для этого функцию javascript и вызвал эту функцию на OnClientClick, но проблема в том, что я не знаю, как передать long и latt этой функции. Я пытался использовать скрытые поля, но новый google.maps.LatLng () принимает двойные значения, поэтому он не работает. Вот моя функция JavaScript,

function addDoctorLocation() 
{
      var lat = document.getElementById('<%= hfLong.ClientID %>').value;
      var longt = document.getElementById('<%= hfLong.ClientID %>').value;
      var myLatlng = new google.maps.LatLng(parseFloat(document.getElementById('<%= hfLong.ClientID %>').value), parseFloat(document.getElementById('<%= hfLong.ClientID %>').value));
      var myOptions = {
        zoom: 10,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

     var marker = new google.maps.Marker({
          position: myLatlng,
          title:"Hello World!"
      });

      // To add the marker to the map, call setMap();
      marker.setMap(map); 
}

и мой код asp (здесь у меня нет gridview только одной кнопки, я надеюсь назначить скрытые значения поля в событии gridview RowCommand.),

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="Button1" runat="server" Text="Button" 
            OnClientClick="addDoctorLocation()" onclick="Button1_Click" />
    </ContentTemplate>
</asp:UpdatePanel>

Пожалуйста, кто-нибудь поможет мне решить эту проблему. Это решение работает, когда я жестко кодирую значения долготы и широты в javascript. Но я хочу передать их, когда пользователь нажимает кнопку строки сетки вида.

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

спасибо всем, что нашел решение. Я добавил кнопку внутри панели обновления, а затем вызвал функцию javascript для этой кнопки, щелчок здесь - это код нажатия кнопки,

        string lat = "-25.363882";
        string longt = "131.044922";

        ScriptManager.RegisterStartupScript(this,this.GetType(),
           "addDoctorLocation",
           "addDoctorLocation(" + lat + "," + longt + ")", true);

addDoctorLocation () - это моя функция javascript, которая занимает много времени, добавляет и добавляет точку на моей карте.

0 голосов
/ 16 июля 2011

Вы создаете новую карту google.maps.Map на каждый клик - вероятно, не то, что вы хотите сделать.Создайте свою карту в другом месте, когда страница загружается, и используйте переменную 'mao', которую вы назначаете там, чтобы добавить свои маркеры.

, если это не помогает, пожалуйста, опубликуйте больше информации о том, что вы видите - сообщения об ошибкахи т. д.

...