Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2005
TriLoCBA TriLoCBA is offline
Miembro
 
Registrado: jun 2005
Posts: 28
Poder: 0
TriLoCBA Va por buen camino
Question MapObjects & Delphi

Como muestro dentro de un objeto TMap (llamado Map1) los label de un deteminado shapefile ???

Puntualmente, el shapefile contiene los tramos (arc) que representan cada una de las calles, y posee un campo NOM_CALLE, que lleva el nombre de las mismas.

Ya cree la capa correspondiente, le asigne color, y tipo de linea; pero no se como mostrar los nombres de calle:

Código:
  procedure TForm1.FormShow(Sender: TObject);
  var
    conexion: IMoDataConnection;
     Ly1,Ly2,Ly3,Ly4: IMoMapLayer;
  begin
   //Crear conexion con el directorio donde estan los datos...
   conexion :=  IMoDataConnection(CreateOleObject('MapObjects2.DataConnection'));
    conexion.Database:= 'C:\DatosGIS';
   
   if not conexion.Connect then exit;
  
   //Crear objetos Layer...
   Ly1:= IMoMapLayer(CreateOleObject('MapObjects2.MapLayer'));
   
   //Asignarle el shapefile...
   Ly1.GeoDataset:=conexion.FindGeoDataset('Calles_arc.shp');
   
    //Propiedades de la capa...
   Ly1.Symbol.Color:= $00C5BDBD;
    Ly1.Symbol.Style:= moDotLine;
   
   //Mostrar la capa...
   Map1.Layers.Add(Ly1);
   
   end;
Encontre dos objetos:
MapObjects2.LabelPlacer
MapObjects2.LabelRenderer
Pero aun no logro usarlos correctamente !!!

PD: Como se hace Torito !!!

Última edición por TriLoCBA fecha: 14-07-2005 a las 21:17:51.
Responder Con Cita
  #2  
Antiguo 21-07-2005
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
jeje, gracias por la pos Data, te recomiendo que si tienes dudas sobre el map objects continues con el hilo donde nos conocimos ya que de ese si me llega aviso y de este por pura casualidad lo vi.. el código te lo adjunto, si tienes alguna duda me avisas, por cierto que bueno que ya estas investigando más a fondo

Código:
procedure TForm2.BBEtiquetaClick(Sender: TObject);
var
aqui : integer;
oleFt    : variant;
lblren   : IMoLabelRenderer;
begin
if (cbvisible2.Checked) and (cbdato.Text<>'') then
 begin
 oleft := FontToOleFont(fuentes.Font);
 lblren :=IMoLabelRenderer(CreateOleObject('MapObjects2.LabelRenderer'));
 LblRen.DrawBackground := True;
 LblRen.Field := 'Nom';
 LblRen.SplinedText := True;
 LblRen.AllowDuplicates := False;
 LblRen.MaxLevel := 10;
 LblRen.MinLevel := 10;

 LblRen.Symbol[0].Font := IFontDisp(IDispatch(oleFt));
 //lblren.AllowDuplicates :=true;
 lblren.field :=cbdato.Text;
 l.renderer := lblren;
 //form1.Map1.Refresh;
 end else //fin if principal
 l.renderer :=nil;
form1.Map1.Refresh;
saludos
Responder Con Cita
  #3  
Antiguo 22-07-2005
TriLoCBA TriLoCBA is offline
Miembro
 
Registrado: jun 2005
Posts: 28
Poder: 0
TriLoCBA Va por buen camino
Thumbs up

Torito,
Desde ya muchas gracias por el ejemplo...

Estuve haciendo unas pruebas con ambos objetos (LabelPlacer y LabelRenderer),usando los ejemplos de Visual Basic que trae la ayuda del MapObjects 2.3, y luego convirtiendolos a Delphi.

Aun no tengo claro, debido a que ambos objetos cuentan con propiedades muy parecidas, cual es la funcion o virtud especifica de cada uno.

Ya logre parte de lo que queria, pero seguire investigando !!!

PD: Abri este hilo debido a que Herramientas Cartograficas se ha hecho muy largo y algo complicado de seguir; pero sobre todo porque comparto 100% contigo, la idea de que los temas GIS & Delphi, merecen mucho mas que un solo hilo, incluso un foro propio dentro deClubDelphi ...
Responder Con Cita
  #4  
Antiguo 22-07-2005
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
nunca eh trabajado con el labelplacer, en donde viene el ejemplo??
Responder Con Cita
  #5  
Antiguo 25-07-2005
TriLoCBA TriLoCBA is offline
Miembro
 
Registrado: jun 2005
Posts: 28
Poder: 0
TriLoCBA Va por buen camino
Exclamation LabelPlacer...

Los ejemplos que estoy probando los copie del MapObjects 2.3 Help (MapObjects2.hlp), que se instala con el MO23Eval_Only.exe (descargado de la pagina de ESRI).

Todos los ejemplos de la ayuda estan en Visual Basic, pero son relativamente faciles de convertir a Delphi.

Hay otro archivo: MO23Samples.exe que instala ejemplos concretos en varios lenguajes.
Responder Con Cita
  #6  
Antiguo 25-07-2005
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
ok, la verdad aun no empiezo con el mo23, ya que aún no me llega la actualización, tan pronto llegue me mudo a esa versión y te comento
Responder Con Cita
  #7  
Antiguo 03-08-2005
TriLoCBA TriLoCBA is offline
Miembro
 
Registrado: jun 2005
Posts: 28
Poder: 0
TriLoCBA Va por buen camino
Question Mejorar la letra de Labels !!!

Cual es la propiedad MapObjects, que permite ponerle borde a las letras de los labels ???

En ArcMap (8.1), al texto del label puede definirsele un "Halo", para que resalten mas las letras sobre el mapa. Pero no encuentro la propiedad en los objetos del MapObjects...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:25:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi