查找代码!
我能下面的查找代码找到英文和数字的地方,像Beijing,或者1234这种,但是汉字的地名就不行,像天府酒店。(汉字的图层是用我自己的地图数据),设置断点发现foundObj.GetFindRC()%10=-3,也就是未查到精确匹配,请问一下高手们这是怎么回事?
这是我的查找代码:
void CMapxSampleView::OnTryfind()
{
// TODO: Add your command handler code here
ctryfind dlg;
CMapXLayers lyrs = m_ctrlMapX.GetLayers();
if (dlg.DoModal()==IDOK)
{
m_FindAddress = dlg.m_address; //对话框中输入的查找地址
for (long i=1; i<=lyrs.GetCount(); i++)
{
CMapXLayer lyr = m_ctrlMapX.GetLayers().Item(i);
//MessageBox(lyr.GetName());
CMapXLayerFind findLyr = lyr.GetFind();
UpdateData(TRUE);
CMapXFindFeature foundObj;
foundObj = findLyr.Search(m_FindAddress, "");
if ((foundObj.GetFindRC()%10) == 1)
{
double dZoom = (double)dlg.m_editZoom;
double dCenterX = foundObj.GetCenterX();
double dCenterY = foundObj.GetCenterY();
m_ctrlMapX.ZoomTo(dZoom, dCenterX, dCenterY);
break;
}
else
AfxMessageBox("Exact Match Not Found.");
}
}
}